2011-10-03 10 views
0

もしそうでなければ、最初にステートメントをスカラー変数に入れずに、CASEまたはIF/THEN識別子を使用してSELECTステートメントを切り替える別の方法がありますか?Where = Nullを使用してWhere is Nullに代わるものがありますか?

ISを使用せずにこれをフォーマットし、=記号を使って動作させる方法はありますか?

SELECT ID FROM TABLE WHERE ID = Null 
+1

NULLをチェックする必要がある場合、 'IS NULL'または' IS NOT NULL'は**有効な**方法です –

+1

あなたの質問は不明です。詳細をご記入ください。 –

+0

これは、少し抽象的な、スキーマといくつかのデータ、希望の出力で、役立つだろう。 – RedFilter

答えて

5

いいえ、NULLは値ではありません。 NULLを条件と考えると、IS NULLまたはIS NOT NULLがこの条件をテストしています。

WHERE 
    CASE X 
     WHEN 1 THEN 
     WHEN 2 THEN 
     ELSE -- includes NULL 
    END = ... 
:あなたは実際の値、または最初のconditonあなたの明確な条件のため

WHERE 
    (X IS NULL OR X = @X) 

OR

WHERE 
    (@X IS NULL OR X = @X) 

またはテストによって表される値の欠如のためにテストすることができます。この例では

あなたの質問は抽象的なので、より正確な回答を与えるのは難しいです。

たとえば、NOT INとNULLに問題がありますか?その場合は、NOT EXISTSを使用してください。

+0

これは私のために必要なもののために働いた..ありがとう。 –

関連する問題