空值和NULL值在DB2中与ORACLE不同点

null不能用作等值运算,也不能用于大于、等于、小于等等运算,排序的时候也要对null做特殊处理,coalesce(name,'')是将null和空值合并处理。

1、DB2中空值和NULL

create table test(id int ,name varchar(20));
create table test01 like test
insert into test01  select * from test
drop table test01
select * from test01 where  coalesce(name,'1')='1'
select * from
(
select * from test a ,test01 b where coalesce(a.name,'1')=coalesce(b.name,'1')
) where name=''


update test set name=null where id = 2


select * from test where coalesce(name,'')=''



2、oracle中空值和NULL

在oracle中空值('')和NULL都认为是NULL。





你可能感兴趣的:(Oracle,DB2)