oracle的NULL与''的区别

原创 2013年12月04日 17:45:12
NULL说明:
1、等价于没有任何值、是未知数。
2、NULL与0、空字符串、空格都不同,NULL没有分配存储空间。
3、对空值做加、减、乘、除等运算操作,结果仍为空。
4、NULL的处理使用NVL函数。
5、比较时使用关键字用“is null”和“is not null”。
6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*)中,用nvl(列名,0)处理后再查。
7、排序时比其他数据都大(索引默认是降序排列,小→大),所以NULL值总是排在最后。

可以简单理解为空字符串''就是null,
比如:【SQL> select 1 from dual where null=''''; 没有查到记录】
因为''就是null那么select 1 from dual where null=''''; 这条语句就被解析成
select 1 from dual where null=null;当然就没有记录了。其他的雷同
所以 select 1 from dual where '' Is Null;结果自然是有一条记录了

Oracle中的NULL和空字符串(很容易把人搞晕的啊)

在Oracle中有个关键字叫NULL,它表示某个值是未知的、是不确定的。既然是未知的,就有无数种的可能性。因此,NULL并不是一个确定的值。先看两个例子吧: 例1: declare  v_b1 ...
  • weiwenhp
  • weiwenhp
  • 2011年12月02日 18:38
  • 17430
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle的NULL与''的区别
举报原因:
原因补充:

(最多只允许输入30个字)