db2中的常用函数:
函數名
|
函數解釋
|
舉例
|
SUBSTR(EXP1,EXP2)
SUBSTR(EXP1,EXP2,EXP3)
|
返回EXP1串自EXP2处开始,,长度为EXP3的子串
|
SELECT SUBSTR('CDNJFDJFJD',5) FROM BSEMPMS;
SELECT SUBSTR('CDNJFDJFJD',5,2) FROM BSEMPMS;
|
ROUND(EXP1,EXP2)
|
返回EXP1小数点右边的第EXP2位置处开始的四舍五入值.
|
SELECT ROUND(2345.6789,2) FROM BSEMPMS
|
REPLACE(EXP1,EXP2,EXP3)
|
用EXP3替代EXP1中所有的EXP2
|
SELECT CHAR(REPLACE('ROMANDD','NDD','CCB'),10) FROM BSEMPMS
|
REPEAT(EXP1,EXP2)
|
返回EXP1重复EXP2次后的字符串
|
SELECT CHAR(REPEAT('REPEAT',3),21) FROM BSEMPMS
|
RAND()
|
返回0和1之间的随机浮点数
|
SELECT RAND() FROM BSEMPMS
|
POSSTR(EXP1,EXP2)
|
返回EXP2在EXP1中的位置
|
SELECT posstr('ABCDEFGH','D') FROM BSEMPMS
|
NULLIF(EXP1,EXP2)
|
如果EXP1=EXP2,则为NULL,否则为EXP1
|
|
COALESCE(Col_1,'')
|
字段空值替换函数
|
1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,'')把NULL转换成'';
2. 输入类型为整型,且允许为空的,可以使用COALESCE(inputParameter,0),把空转换成0; 3. 输入类型为整型,且是非空的,不需要使用COALESCE函数,直接使用IS NULL进行非空判断。 |
LENGTH(EXP)
|
得到字符串exp的长度
|
values length('test'); --输出4
|
CAST(EXP1 AS EXP2) | 类型转换函数:将exp1转换成exp2类型 |
1.字符转换成整数:CAST('2' as integer); 2.转换成字符串:CAST(current date as char(20)) ; 3.转换成浮点数:CAST('22.02' as decimal(4,2)) |
LTRIM(EXP)
RTRIM(EXP) |
DB2提供ltrim函数和rtrim函数,但偏偏不提供trim函数,如果你希望去除字符两端的空格,对不起,必须用ltrim(rtrim()) 的方式调用 | 1.去掉左空格:LTRIM(' ABC');
2.去掉右空格:LTRIM('ABC '); 3.去掉左右空格:LTRIM(RTRIM(' ABC')); |