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...

COALESCE()函数

COALESCE()函数  主流数据库系统都支持COALESCE()函数,这个函数主要用来进行空值处理,其参数格 式如下:  COALESCE ( expression,value1,value...

DB2 COALESCE

输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,”)把NULL转换成”; 输入类型为整型,且允许为空的,可以使用COALESCE(inputParamet...

Windows下使用Perl连接DB2[转]

原文地址: http://server.it168.com/server/2006-02-06/20060206011101.shtml   Perl语言本身就不多做介绍了。   1994年发布的D...

db2中create table as的建表方式

db2 中通过查询结果来create table 的3种方式 Q:想通过DB2把查询出来的结果定义为别的表,因为db2没有类似(或者说对db2还不熟悉)oracle的create table as...

Mac OS yosemite手动卸载db2 v10.1以及重新安装过程(不断更新中...)

好不容易安装完,结果在create sample数据库的时候报错……bash-3.2$ db2sampl Starting the DB2 instance... Creating databa...

windows环境下搭建DB2 单物理节点 DPF 数据库

本文讲述了windows环境下,如何搭建一个单物理节点,4个逻辑节点的DPF数据库环境 1.) 安装DB2产品,假设安装信息如下: DB2 副本名称:                       ...

DB2_备份恢复(离线&在线)

转自: http://blog.csdn.net/sand_ant/article/details/10508917 一、离线备份 [python] view plai...

每日MySQL之011:MySQL和DB2中的Multiple-Column Index(复合索引)

MySQL支持复合索引,也就是创建在多个列上的索引,一个索引最多支持16列。复合索引针对的查询包括:查询条件匹配索引所有列、查询条件只匹配第一列、查询条件只匹配前两列、查询条件只匹配前三列,以此类推(...

嵌入式开发中对db2 null字段的处理

使用null indicator处理db2中的空字段
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DB2 COALESCE
举报原因:
原因补充:

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