做列對的比較,試圖發現任何不符合SQL服務器列比較,包括空/非空
SELECT
RecID,
Field1,
Field2
FROM
TestTable
WHERE
Field1 != Field2
不過,我想在我的支票空值。空兩列是有效的,在一列但空,而不是在其他無效所以需要被包含在輸出
SELECT
RecID,
Field1,
Field2
FROM
TestTable
WHERE
(Field1 != Field2)
OR (Field1 IS NULL AND Field2 IS NOT NULL)
OR (Field1 IS NOT NULL AND Field2 IS NULL)
這是寫的最好的方法,還是有一個整潔/更好方式做Null
/Not Null
比較?
這對我來說很好,這樣做的問題是什麼? – JonH
@JonH這樣做可能沒有任何問題。我知道這種方式奏效,但想知道是否有一個「適當」的方式來做到這一點。如果我這樣做的問題就是這樣,這只是我上面的示例非常簡單 - 我的實際比較查詢比較多(更多的列),所以如果有比較好/更快/更短的方式來進行比較它可能使我的查詢更容易編寫。 – Midavalo
這是正確的方法。 – JonH