新博客http://www.cnblogs.com/zhjh256 欢迎访问
分类: Oracle
2008-01-06 21:42:45
关于null
NULL既不代表TRUE,也不代表FALSE,而是UNKNOWN。
TRUE AND NULL = NULL
TRUE OR NULL = TRUE
FALSE AND NULL = FALSE
FALSE OR NULL = NULL
注意:Oracle将空字符串当成null,通常这不是预期的。
SQL> create table null_test(a varchar2(10),b varchar2(10));
Table created
SQL> insert into null_test values(' ','1');
1 row inserted
SQL> insert into null_test values('','1');
1 row inserted
SQL> insert into null_test values(null,'1');
1 row inserted
SQL> select * from null_test where a is null;
A B
---------- ----------
1
1