正 文

说一说“NULL”


www.7dspace.com  更新日期:2005-11-6 2:42:02  七度空间


下表为比较操作符和空值的小结:

比较操作符

表达式(例:A、B是NULL、C=10)

结果

IS NULL、IS NOT NULL
A IS NULL
TRUE

A IS NOT NULL
FALSE

C IS NULL
FALSE

C IS NOT NULL
TRUE
=、!=、>=、< =、>、<
A = NULL
NULL

A > NULL
NULL

C = NULL
NULL

C > NULL
NULL
IN (=ANY)
A IN (10,NULL)
NULL

C IN (10,NULL)
TRUE

C IN (20,NULL)
NULL
NOT IN
( 等 价 于 !=ALL)
A NOT IN (20,NULL)
NULL

C NOT IN (20,NULL)
FALSE

C NOT IN (10,NULL)
NULL
ANY,SOME

A > ANY(5,NULL)
NULL

C > ANY(5,NULL)
TRUE

C > ANY(15,NULL)
NULL
ALL

A > ALL(5,NULL)
NULL

C > ALL(5,NULL)
NULL

C > ALL(15,NULL)
FALSE
(NOT)BETWEEN

A BETWEEN 5 AND NULL
NULL

C BETWEEN 5 AND NULL
NULL

C BETWEEN 15 AND NULL
FALSE

A NOT BETWEEN 5 AND NULL
NULL

C NOT BETWEEN 5 AND NULL
NULL

C NOT BETWEEN 15 AND NULL
TRUE

3、空值和算术、字符操作符

(1)算术操作符:空值不等价于0,任何含有空值的算术表达式其运算结果都为空值,例如空值加10为空值。

(2)字符操作符||:因为ORACLE目前处理零个字符值的方法与处理空值的方法相同(日后的版本中不一定仍然如此),所以对于||,空值等价于零个字符值。例:

SQL >select ename,mgr,ename||mgr,sal,comm,sal+comm from emp;
ENAME            MGR ENAME||MGR          SAL      COMM  SAL+COMM
-- - - - - -
SMITH           7902 SMITH7902           800
ALLEN           7698 ALLEN7698          1600       300      1900
WARD            7698 WARD7698           1250       500      1750
JONES           7839 JONES7839          2975
MARTIN          7698 MARTIN7698         1250      1400      2650
BLAKE           7839 BLAKE7839          2850
CLARK           7839 CLARK7839          2450
SCOTT           7566 SCOTT7566          3000
KING                 KING               5000
TURNER          7698 TURNER7698         1500         0      1500
ADAMS           7788 ADAMS7788          1100
JAMES           7698 JAMES7698           950
FORD            7566 FORD7566           3000
MILLER          7782 MILLER7782         1300

我们可以看到,凡mgr为空值的,ename||mgr结果等于ename;凡是comm为空值的行,sal+comm均为空值。

5页,页码:[1] [2] [3] [4] [5] 

上一篇:Oracle控制文件如何重建?
下一篇:商业门户站点的十二个关键特性
作者:  来源:网络整理 ( 责任编辑:7dspace )
收藏此页】【打印】【关闭
站 内 搜 索
 

热 点 导 读
特 别 推 荐