我正在尋求在我的查詢中阻止非sargable表達式,這是檢查null條件的更好方法嗎?在TSQL中使用ISNULL的Sargable查詢
AND c.Account IS NOT NULL
AND c.Account <> ''
或
AND ISNULL(c.Account,'') <> ''
我漸漸明白指出,Account
從LEFT JOIN
來得那麼它可以爲空。我想要他們只交叉的情況下,這意味着我應該只使用INNER JOIN
吧?感謝facepalms;)
然而,忽視了肉麻的自我實現,我還是想知道在一般情況下,這個問題的答案,我不能讓Account
NOT NULL列。
最好將Account字段設置爲NOT NULL,因爲這些值對您來說意味着相同,並且最好使用COALESCE,因爲它是SQL標準的一部分。 – LukLed 2011-02-17 01:16:24
空字符串等於NULL? Eeeeeek! – 2011-02-17 01:18:17