DB2数据库常用的函数总结
CONCAT
>>-CONCAT-------(--expression1--,--expression2--)--------------><
功能:将两个字符串连接起来,如果两个参数中,有任一为null,则返加null。
例:
values(CONCAT('cxccxd','tttt')) 返回:cxccxdtttt
TO_CHAR
>>-TO_CHAR--(--timestamp-expression--,format-string--)---------><
同VARCHAR_FORMAT.函数用法相同
TO_DATE
>>-TO_DATE--(--string-expression--,format-string--)------------><
同TIMESTAMP_FORMAT函数用法相同
---------------------
SUBSTR
>>-SUBSTR--(--string--,--start--+-----------+--)---------------><
'-,--length-'
功能:从string串中,start指定的位置取length长度的字符串
---------------------
SPACE
>>-SPACE--(--expression--)-------------------------------------><
功能:返回参数指定数量的空格字符,最大不能超过4000个字符
参数:SMALLINT or INTEGER类型
SQRT
>>-SQRT--(--expression--)--------------------------------------><
功能:返回平方根,结果为double-precision floating-point类型
参数:内置数值类型
例:
VALUES (SQRT (400)) 返回:20
---------------------
SIGN
>>-SIGN--(--expression--)--------------------------------------><
功能:返回标记-1、0、1,判断参数是负数、0、还是正数,如果为负数则返加-1,如果为0,则返回0,如果为正数,则返回1
参数:要求为内置数值类型。
例:
VALUES (sign(2.5)) 返回:1
VALUES (sign(0)) 返回:0
VALUES (sign(-254)) 返回:-1
---------------------
VALUE函数
NVL函数是一个空值转换函数
NVL(表达式1,表达式2)
如果表达式1为空值,NVL返回值为表达式2的值,否则返回表达式1的值。
该函数的目的是把一个空值(null)转换成一个实际的值。其表达式的值可以是数字型、字符型和日期型。但是表达式1和表达式2的数据类型必须为同一个类型。
- 对数字型:NVL( a,0);
- 对字符型:NVL(TO_CHAR(a), 'zifeiy')
- 对日期型:NVL(mydate,'31-DEC-99')
- 1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,'')把NULL转换成'';
2. 输入类型为整型,且允许为空的,可以使用COALESCE(inputParameter,0),把空转换成0;
3. 输入参数为字符类型,且是非空非空格的,可以使用COALESCE(inputParameter,'')把NULL转换成'',然后判断函数返回值是否为'';
4. 输入类型为整型,且是非空的,不需要使用COALESCE函数,直接使用IS NULL进行非空判断。
5.对''值的处理,' '或''在数据库中不是NULL而是空格存在需要使用 = ' '验证[color=red][/color -
方法1:row_number()函数
select * from ( select a.*,row_number() over(partition by 分组字段 order by 排序字段) rn from 表名;
) b where rn = 1
- 1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,'')把NULL转换成'';