日期:2014-05-16  浏览次数:20384 次

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”。

  6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,

  count(*)中,用nvl(列名,0)处理后再查。

  7、排序时比其他数据都大(索引默认是降序排列,小→大),

  所以NULL值总是排在最后。

  使用方法:

?1?SQL>?select?1?from?dual?where?null=null;
?2?没有查到记录
?3?SQL>?select?1?from?dual?where?null='';
?4?没有查到记录
?5?SQL>?select?1?from?dual?where?''='';
?6?没有查到记录
?7?SQL>?select?1?from?dual?where?