DB2常用函数详解

1、VALUE函数

语法:VALUE(expresion1,expresion2)

VALUE函数是用于返回一个非空的值,如果expresion1不为空则返回expresion1,如果expresion1为空则返回expresion2;

示例:SELECT   VALUE(ID,'')  FROM  TAB;

首先判断ID是否为空,如果为空则返回空字符串(‘’);

2、COALESCE函数

语法:COALESCE(expr1,expr2,……,expr(n))

COALESCE函数用于返回表达式里面第一个非空的表达式,如果所有表达式都为空,则返回空;

3、LENGTH函数

语法:LENGTH(AVG)

LENGTH函数用于返回参数的长度;

示例:select LENGTH(ID) from TAB;  

返回ID的长度;

4、LCASE、LOWER函数

语法:LCASE(AVG)  /   LOWER(AVG)

用于返回定长、变长字符串的小写形式;

5、UCASE、UPPER函数

语法:UCASE(AVG)  /   UPPER(AVG)

用于返回定长、变长字符串的大写形式;

6、LTRIM、RTRIM函数

语法:LTRIM(AVG) / RTRIM(AVG)

LTRIM、RTRIM函数从CHAR、VARCHAR、GRAPHIC或者VARGRAPHIC左边、右边的空格;

7、LEFT、RIGHT函数

语法:LEFT(AVG,LENGHT)   /   RIGHT(AVG,LENGHT)   

LEFT、RIGHT函数用于返回AVG最左边或者最右边的LENGHT个字符串,AVG可以是VARCHART 或者BINARY  STRING;

8、CONCAT函数

语法:CONCAT(AVG1,AVG2)

CONCAT函数返回两个字符串的拼接;

9、INSERT函数

语法:INSERT(AVG1,POS,SIZE,AVG2)

INSERT函数用于返回一个字符串,将AVG1从POS位置处删除SIZE个字符,将AVG2插入到该位置;

10、LOCATE函数

语法:LOCATE(AVG1,AVG2)     LOCATE(AVG1,AVG2,POS)

LOCATE函数在AVG2里面查找AVG1第一次出现的位置,如果POS存在则返回从POS位置开始的AVG1第一次出现的位置;

11、POSSTR函数

语法:POSSTR(EXP1,EXP2)

POSSTR函数返回EXP2在EXP1中的位置;

12、REPEAT函数

语法:REPEAT(AVG1,NUM_TIMES)

REPEAT函数用于返回AVG1被重复NUM_TIMES次数的字符串;

13、REPLACE函数

语法:REPLACE(EXP1,EXP2,EXP3)

REPEAT函数用EXP3替换EXP1中所有的EXP2;

14、SPACE函数

语法:SPACE(SIZE)

SPACE函数返回含有SIZE个空格的字符串;

15、SUBSTR函数

语法:SUBSTR(AVG1,POS,LENGTH)

SUBSTR函数返回ARG1中POS位置开始的LENGTH个字符,如果没有指定LENGTH,则返回剩余的字符。 

16、CAST表达式

语法:CAST(AVG  AS   D_TYPE)

CAST表达式用来转化数据类型;

  1. 示例:
  2. SELECT CAST(CURRENT TIME AS CHAR(8) ) FROM SYSIBM.SYSDUMMY1  
SELECT CAST(CURRENT TIME AS CHAR(8) ) FROM SYSIBM.SYSDUMMY1

  • 0
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
DB2 DECODE函数是一种用于条件判断的函数。当需要在查询数据时进行条件判断,一般会使用CASE...WHEN语句来实现,但当判断条件为相等时,可以使用DECODE函数来替代。DECODE函数语法为decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)。它的作用是,根据给定的条件判断,返回对应的翻译值。如果条件与值1相等,则返回翻译值1;如果条件与值2相等,则返回翻译值2;以此类推。如果条件与所有的值都不相等,则返回缺省值。DECODE函数可以简化条件判断的过程,特别适合处理相等条件的情况。 在使用DECODE函数时,可以结合其他SQL语句一起使用。例如,可以使用DECODE函数来统计不同职位的人数。假设我们有一个表t1,其中包含id、name和job三个字段。我们想要统计'vp'及以上职位的人数和普通员工的人数,可以使用以下SQL语句: select decode(job,'vp','vp_ceo','ceo','vp_ceo','operation'),count(*) job_count from t1 group by decode(job,'vp','vp_ceo','ceo','vp_ceo','operation'); 这个SQL语句中,使用了DECODE函数来将职位进行翻译,将'vp'翻译为'vp_ceo',将'ceo'翻译为'vp_ceo',将其他职位翻译为'operation'。然后使用COUNT函数来统计每个翻译值对应的人数,通过GROUP BY子句进行分组。最终得到了'vp_ceo'职位的人数和'operation'职位的人数。 总的来说,DB2 DECODE函数是一种用于条件判断的函数,可以根据给定的条件判断返回对应的翻译值。它可以简化条件判断的过程,特别适合处理相等条件的情况。在实际使用中,可以结合其他SQL语句来实现更复杂的逻辑。<span class="em">1</span><span class="em">2</span><span class="em">3</span>

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值