Oracle中的null与空字符串''的区别

含义解释:
问:什么是NULL?
答:在我们不知道具体有什么数据的时候,也即未知,可以用NULL,我们称它为空,ORACLE中,含有空值的表列长度为零。
ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:
1、主键字段(primary key),
2、定义时已经加了NOT NULL限制条件的字段
说明:
1、等价于没有任何值、是未知数。
2、NULL与0、空字符串、空格都不同。
3、对空值做加、减、乘、除等运算操作,结果仍为空。
4、NULL的处理使用NVL函数。
5、比较时使用关键字用“is null”和“is not null”。(对char和varchar2字段来说,''就是null;但对于where 条件后的'' 不是null)
6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*)中,用nvl(列名,0)处理后再查。
7、排序时比其他数据都大(索引默认是升序排列,小→大),所以NULL值总是排在最后。
8、在使用AVG,MAX,SUM,COUNT等函数时,为NULL的纪录会被忽略。

参考:https://www.cnblogs.com/wgbs25673578/p/5470437.htmlhttps://www.cnblogs.com/memory4young/p/use-null-empty-space-in-oracle.html

猜你喜欢

转载自www.cnblogs.com/shujk/p/12543904.html