db2 空值转换函数_(转)DB2中的一些函数

本文探讨了DB2与Informix数据库之间的主要区别,包括Ltrim/rtrim函数、空值处理、repeat函数应用、数据插入和CASE WHEN语句。特别关注了函数名称和使用方法的转换,以及注意事项。
摘要由CSDN通过智能技术生成

原文:https://www.cnblogs.com/ShaYeBlog/archive/2012/08/27/2658025.html

最近用DB2,数据库之间的差异还是很大的,好多函数都不一样

1.去空格

*DB2中:Ltrim()是去左边空格,rtrim()是去右边空格。

*informix中:trim()就是去空格。

用法:例:string a="  abc  ";

*DB2中:Ltrim(a)="abc  ";rtrim(a)="  abc",rtrim(ltrim(a))="abc";

*informix中:trim(a)="abc".

注意:DB2中无trim()函数,所以要去空格要执行左右去空格。

2.取值若为空值,用另外一个值代替 value(parm,string) 或者 coalesce(parm,string) 从表中取字段  parm,若为空值,用string代替。

*DB2中:value(parm,string) 或者 coalesce(parm,string)

*informix中:NVL(parm,string)。

用法:例:

*DB2中:select value(name,'呵呵') from student;select coalesce(name,'呵呵') from   student;

若student的表中name字段为空值,则显示出‘呵呵’,若有值则显示出name字段的值

*informix中:select NVL(name,'呵呵') from student 一样

注意:DB2中无trim()函数,所以要去空格要执行左右去空格。

3.repeat(parm,int z),将字段重复z次后输出

*DB2中:select name from student,select repeat(name,2) from student

第一句输出为:‘呵呵’,

第二句输出为:  ‘呵呵呵呵’

4.往表格中插入多行

*DB2中:  insert into table1 (select parm1,parm2... from table2)

*注意:从table2中必须取与table1相同多字段值才行

5.CASE WHEN

select  CASE  WHEN MAINTAIN ='0' THEN 'A' WHEN MAINTAIN ='1' THEN 'A' WHEN  MAINTAIN IS NULL  THEN 'A' ELSE MAINTAIN END  from V_RepairPart

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值