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