Oracle中null和空字符串('')的区别
先说结论:Oracle中null和空字符串('')没有区别。
往字段字段中分别插入null和''
insert into user_info(id,name,age)values('1','','');
insert into user_info(id,name,age)values('2',null,null);
使用is null和name = ''查询
select * from user_info where name = ''
查询出0条记录;
select * from user_info where name is null
查询出2条记录;
从查询结果来看,字段插入null和''的结果是一样的,都是null;
select * from user_info where '' = ''
查询出0条记录;
select * from user_info where '' is null
查询出2条记录;
'' = ''条件不成立, '' is null条件成立也说明了 '' 就是null,需要注意的是空字符串是长度为0的字符串,有空格的并不是,如' ' = ' '条件成立。