我们在不知道具体有什么数据的时候,也即是未知,可以用null,我们称它为空,在Oracle中含有空值的表的列长度为零。
Oracle可以允许任何一种的数据类型为空。除了(主键字段pk,定义的时候已经增加了not null的限制条件的字段。
说明:
等价于没有任何的值,是未知数。
null和0,空字符串,空格都不同。
对空值做加,减,乘,除等运算的操作结果还是空的。
null值的处理可以采用nvl函数
比较的时候采用is null和is not null
空值是不可以被索引的。所以查询的时候有些符合条件的数据可能查询不出来了。
count(*)中,用nvl处理后进行查询。nvl(列名,0)
排序的时候比其他的数据都大(索引默认的排序是降序排列的,小到大),所以null在最后面
select 1 from dual where null=null; 未选定行
没有查到记录
select 1 from dual where null=''; 未选定行
没有查到记录
select 1 from dual wehre ''=''; 未选定行
没有查询到记录
select 1 from dual where null is null; 未选定行
没有查询到记录
对空值进行加减乘除运算的操作的,结果依旧是空的
select 1+null from dual;
select 1-null from dual;
select 1*null from dual;
select 1/null from dual;
查询到一个记录 ,这个记录就是sql语句中的那个null
Oracle空值的用法,null就是null,和其他的类型是没有可比性的