六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 195|回复: 0

DB2中空值处理

[复制链接]

升级  37.33%

94

主题

94

主题

94

主题

举人

Rank: 3Rank: 3

积分
312
 楼主| 发表于 2013-1-25 22:32:32 | 显示全部楼层 |阅读模式
1. 输入参数为字符类型,且允许为空的,可以使用COALESCE(inputParameter,'')把NULL转换成'';
2. 输入类型为整型,且允许为空的,可以使用COALESCE(inputParameter,0),把空转换成0;
3. 输入参数为字符类型,且是非空非空格的,可以使用COALESCE(inputParameter,'')把NULL转换成'',然后判断函数返回值是否为'';
4. 输入类型为整型,且是非空的,不需要使用COALESCE函数,直接使用IS NULL进行非空判断。
DB2 COALESCE 测试
--2006-1-12 16:31
--建立测试环境
drop table t1;
create table t1(c1 int,c2 varchar(10),c3 date,c4 timestamp);
--插入测试值
insert into t1(c1,c2,c3,c4)values(1,'1',current date,current timestamp)
insert into t1(c1)values(1)
insert into t1(c2)values('1')
insert into t1(c3)values('2005-01-01')
insert into t1(c4)values('2005-01-01 00:00:00.000000')
--查询原表数据
select * from t1
--调用函数示例
select coalesce(c1,0),coalesce(c2,'fuck'),coalesce(c3,'2000-01-01'),coalesce(c4,'2000-01-01 00:00:00.000000') from t1

--删除测试
DELETE  FROM T1;
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表