2016-08-19 7 views
-2

現在、SQL Server 2008 R2を使用しています。NULLSが削除されないようにするにはどうすればいいですか?

私はこのスクリプトを使用しています

出力を与える
SELECT a.productname, a.orderdate, a.workarea 

FROM database1table1 AS a 

WHERE a.orderdate >='2016/08/01' 

を:

PRODUCT NAME   ORDER DATE      WORKAREA 

x        2016/08/07   NULL 

y        2016/08/09   HOLDING 

z        2016/08/10   ACTION 

a        2016/08/12   ACTION 

私の問題は、私は読むために上記のスクリプトを修正する際に生じる、

を...

WHERE a.orderdate >='2016/08/01' 

**AND a.workarea NOT IN ('HOLDING')** 

Wh私はこれを行うだけでなく、 'HOLDING'を削除するだけでなく、NULL行も削除しますが、間違いなく削除します。

あなたはNULLSが削除されないようにスクリプトの修正案を提案できますか?私は 'HOLDING'という値を取り出して見たいだけです。

ありがとうございます!

+2

可能な複製:選択した行ありません値を含むNULLに等しい](http://stackoverflow.com/questions/10421017/t-sql-selectrows-not-equal-to-a-value-including-nulls) –

答えて

0

あなたはそれが「ではない」「どこで」で、すべてのヌルa.workareaを変えていく

AND ISNULL(a.workarea,'') NOT IN ('HOLDING') 

回避策を試すことができます正しく動作

[T-SQLの
+0

うまく働いた:ありがとう –

+0

それはwhere節でISNULLを使用すると、その列のインデックスの使用が妨げられることに注意してください – RdPC

関連する問題