标签:数据库
对NULL的探讨
1、select A || B from table;
若字段A或者B有一个为null,则A||B结果为null;
2、NULL的用处(辨别悬空值):
(1)代替不确定的值
(2)代替可能没有意义的,不合适的值
(3)当传入无效参数时的返回值
(4)外查询时,未匹配列的占位符
3、对于大多数数据库,Null是一个特殊值,不同于0、false或者空字符串,但是在oracle和sybase中,Null是长度为0的空字符串。
4、null在标量表达式中的值
表达式 | 实际值 | 原因 |
NULL=0 | NULL | NULL不是0 |
NULL=12345 | NULL | 如果未指定值和所给值相等,则未知 |
NULL<>12345 | NULL | 不相等则未知 |
NULL+12345 | NULL | 未指定值和一直数座和则未知 |
NULL||"string" | NULL | Null不是空字符串,未知 |
NULL=NULL | NULL | 未指定值和另一个值相等则未知 |
NULL<>NULL | NULL | 如不同则未知 |
表达式 | 实际值 | 原因 |
NULL AND TRUE | NULL | NULL不是false |
NULL AND FALSE | FALSE | 对于and,一假则假 |
NULL OR FALSE | NULL | null不是true |
NULL OR TRUE | TRUE | 对于or,一真则真 |
NOT(NULL) | NULL | Null不是true,也不是flase |
标签:数据库
原文地址:http://blog.csdn.net/l498948617/article/details/42640219