wwwxeb 发表于 2013-1-13 18:28:09

DB2中的空值和NULL值处理

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

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

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

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

5.对''值的处理,' '或''在数据库中不是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 --删除测试DELETEFROM T1;
页: [1]
查看完整版本: DB2中的空值和NULL值处理