DB2 COALESCE

转载 2012年02月20日 17:10:21
 

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 条记录已选择。

DB2的COALESCE函数

COALESCE 函数功能 :返回列表中的第一个非空表达式(如果所有参数均为 NULL,则 返回 NULL);与Oracle数据库的nvl函数功能相同。 语法  COALESCE ( expressi...
  • u013952452
  • u013952452
  • 2014年03月10日 09:27
  • 3069

COALESCE()函数

COALESCE()函数  主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格 式如下:  COALESCE ( expression,value1,value...
  • u010031649
  • u010031649
  • 2014年08月23日 21:33
  • 2847

DB2 COALESCE

1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,'')把NULL转换成''; 2. 输入类型为整型,且允许为空的,可以使用COALESCE(inp...
  • soconglin
  • soconglin
  • 2012年02月20日 17:10
  • 5383

DB2 COALESCE 测试

DB2 COALESCE 测试--2006-1-12 16:31--彭建军--建立测试环境drop table t1;create table t1(c1 int,c2 varchar(10),c3 ...
  • pengjj
  • pengjj
  • 2006年01月12日 16:37
  • 2287

db2 COALESCE 函数的用法

select * from CM_CITEMP t where t.EFFECTIVE='1' and t.CHOOSEFLAG='1' and COALESCE(t.SUBMITFLAG,'') =...
  • zzqzzq104
  • zzqzzq104
  • 2012年02月03日 14:00
  • 595

DB2 COALESCE

1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,'')把NULL转换成''; 2. 输入类型为整型,且允许为空的,可以使用COALESCE(inp...
  • F7ANTY
  • F7ANTY
  • 2015年04月07日 11:23
  • 346

mysql中的coalesce用法

在mysql中,其实有不少方法和函数是很有用的,这次介绍一个叫coalesce的,拼写十分麻烦,但其实作用是将返回传入的参数中第一个非null的值,比如    SELECT COALESCE(NUL...
  • jackyrongvip
  • jackyrongvip
  • 2013年07月01日 17:55
  • 22941

一个非常有用的函数——COALESCE

很多人知道ISNULL函数,但是很少人知道Coalesce函数,人们会无意中使用到Coalesce函数,并且发现它比ISNULL更加强大,其实到目前为止,这个函数的确非常有用,本文主要讲解其中的一些基...
  • DBA_Huangzj
  • DBA_Huangzj
  • 2012年12月16日 03:29
  • 138789

oracle--函数COALESCE

COALESCE 语法解释 COALESCE返回参数列表中第一个非空表达式。必须指定最少两个参数。如果所有的参数都是null,则返回null。 Oracle使用短路运算,它依次对每个表达式求值...
  • leisore
  • leisore
  • 2011年02月17日 13:30
  • 6003

DB2 COALESCE 测试

1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,)把NULL转换成;2. 输入类型为整型,且允许为空的,可以使用COALESCE(inputParame...
  • wangnantju
  • wangnantju
  • 2010年01月21日 11:23
  • 2873
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DB2 COALESCE
举报原因:
原因补充:

(最多只允许输入30个字)