1.
三值邏輯:TRUE / FALSE / UNKNOWN
2.
一個缺失的值(NULL)和另一個值進行比較,邏輯結果是UNKNOWN
UNKOWN:NULL > 42 / NULL = NULL / X + NULL > Y / ...
3.
NOT TRUE = FALSE
NOT FALSE = TRUE
NOT UNKNOWN = UNKNOWN
4.
所有的查詢篩選器(ON, WHERE, HAVING)都把UNKNOWN當作FALSE處理
CHECK約束中的UNKNOWN值實際上被當作TRUE對待
5.
在篩選器中比較兩個NULL值將得到UNKNOWN,而UNKNOWN按FALSE來處理,就像其中這兩個NULL不相等一樣
但在UNIQUE約束,集合運算(如UNION和EXCEPT),以及排序和分組操作中,認為兩個NULL是相等的
6.
總結:盡量避免NULL值
新聞熱點
疑難解答