关闭

DB2 COALESCE

标签: sql
178人阅读 评论(0) 收藏 举报
分类:
  1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,”)把NULL转换成”;

  2. 输入类型为整型,且允许为空的,可以使用COALESCE(inputParameter,0),把空转换成0;

  3. 输入参数为字符类型,且是非空非空格的,可以使用COALESCE(inputParameter,”)把NULL转换成”,然后判断函数返回值是否为”;

  4. 输入类型为整型,且是非空的,不需要使用COALESCE函数,直接使用IS NULL进行非空判断。

–建立测试环境

DB2 COALESCE 测试db2 => connect to minideft

 数据库连接信息
 数据库服务器         = DB2/NT 9.5.1
 SQL 授权标识         = ALVIN
 本地数据库别名       = MINIDEFT
--插入测试值

db2 => create table t1(c1 int,c2 varchar(10),c3 date,c4 timestamp)
DB20000I  SQL命令成功完成。
db2 => insert into t1(c1,c2,c3,c4)values(1,'1',current date,current timestamp)
DB20000I  SQL命令成功完成。
db2 => insert into t1(c1)values(1)
DB20000I  SQL命令成功完成。
db2 => insert into t1(c2)values('1')
DB20000I  SQL命令成功完成。
db2 => insert into t1(c3)values('2005-01-01')
DB20000I  SQL命令成功完成。
db2 => insert into t1(c4)values('2005-01-01 00:00:00.000000')
DB20000I  SQL命令成功完成。
db2 => select * from minideft.t1
SQL0204N  "MINIDEFT.T1" 是一个未定义的名称。  SQLSTATE=42704
--查询原表数据

db2 => select * from t1

C1             C2            C3            C4
----------- ---------- ----------  --------------------------
          1     1             2010-01-21 2010-01-21-11.11.25.405000
          1     -             -                -
          -     1             -                -
          -     -             2005-01-01  -
          -     -             -                2005-01-01-00.00.00.000000

  5 条记录已选择。
--调用函数示例

db2 => select coalesce(c1,0),coalesce(c2,'fuck'),coalesce(c3,'2000-01-01'),coale
sce(c4,'2000-01-01 00:00:00.000000') from t1

1               2             3                4 
----------- ---------- ----------   --------------------------
          1     1             2010-01-21  2010-01-21-11.11.25.405000
          1     fuck         2000-01-01  2000-01-01-00.00.00.000000
          0     1             2000-01-01  2000-01-01-00.00.00.000000
          0     fuck         2005-01-01  2000-01-01-00.00.00.000000
          0     fuck         2000-01-01  2005-01-01-00.00.00.000000

  5 条记录已选择。

转自:http://blog.csdn.net/soconglin/article/details/7276562

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:57413次
    • 积分:844
    • 等级:
    • 排名:千里之外
    • 原创:12篇
    • 转载:93篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论