我對兩個SQL查詢的結果感到困惑。把桌上的內容和兩個查詢:在涉及「空」的SQL查詢中感到困惑沒有選擇行返回
a) SELECT Col1, STATUS FROM TABLE_A WHERE KEY IN ('abcd','defg');
b) SELECT Col1, STATUS FROM TABLE_A WHERE KEY IN ('abcd','defg') and NOT (STATUS = 'PENDING')
結果,而結果(b)所示什麼!
列'狀態'可以具有「PENDING」以外的值,並且爲了報告原因,我不能使用'STATUS IS NOT NULL'作爲過濾器。我不明白爲什麼查詢(b)什麼都不返回。在此先感謝您的幫助
平臺:MSSQL 2008
+1,但因爲OP由於某種原因似乎無法使用'STATUS IS NOT NULL',所以你可以將條件改爲'AND NOT ISNULL(STATUS,'')='PENDING'' –
@Lieven - 米不知道爲什麼OP已添加restri進入問題。如果他們根本不能改變查詢,那麼他們可以查看'ANSI_NULLS'。 –
他們可以...但我不想保持它:) –