`

Oracle数据库中的''与NULL的关系

 
阅读更多

Oracle数据库中''NULL是等价的。均表示空值,而不是类似其他数据库上''表示空串,NULL表示空值。

 

ORACLE允许任何一种数据类型的字段为空,除了以下两种情况:

1、主键字段(primary key),

2、定义时已经加了NOT NULL限制条件的字段

 

说明:

1NULL等价于没有任何值、是未知数。

2NULL0、空字符串、空格都不同。

3、对空值做加、减、乘、除等运算操作,结果仍为空。

4NULL的处理使用NVL函数。

5、比较时使用关键字用“is null”和“is not null”。不能用等于、不等于、大于或小于和其它数值比较,当然也包括空值本身(但是在decode中例外,两个空值被认为是等价)

6、空值不能被索引,所以查询时有些符合条件的数据可能查不出来,count(*)中,用nvl(列名,0)处理后再查。

7、排序时比其他数据都大(索引默认是降序排列,小→大),所以NULL值总是排在最后。

8、在where条件中,Oracle认为结果为NULL的条件为FALSE,带有这样条件的select语句不返回行,也不返回错误信息。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics