NULL 比較

NULL 是比較時的一個特例。

假設以下資料。

id someVal
 ----
 0 NULL
 1 1
 2 2

帶有查詢:

 SELECT id
 FROM table
 WHERE someVal = 1

會返回 id 1

 SELECT id
 FROM table
 WHERE someVal <> 1

會返回 id 2

 SELECT id
 FROM table
 WHERE someVal IS NULL

會返回 id 0

 SELECT id
 FROM table
 WHERE someVal IS NOT NULL

將返回 ids 12

如果你希望在 =<> 比較中將 NULL計數為值,則必須首先將其轉換為可數資料型別:

 SELECT id
 FROM table
 WHERE ISNULL(someVal, -1) <> 1

要麼

 SELECT id
 FROM table
 WHERE someVal IS NULL OR someVal <> 1

返回 02

或者你可以更改 ANSI Null 設定。