2つのSQLクエリの結果が混乱します。テーブルの内容と2つのクエリを与える:(A)の"Null"を含む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')
結果は、すべての4行を示し、(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'を見ることができます。 –
彼らは...しかし、私はそれを維持したくないでしょう:) –