2012-05-10 34 views
0

テーブルにidという数値列があります。 1,2,3のidと 'null'を持つクエリを選択します。SQL Select-INクエリ

SELECT * FROM MYTABLE WHERE ID IN (1,2,3,null) 

これが可能である:

SELECT * FROM MYTABLE WHERE ID IN (1,2,3) OR ID IS NULL 

は、私のようなものを使用することができます。

私のようなクエリを使用したくありませんか?上記のクエリは、

と同じ結果を返します。
SELECT * FROM MYTABLE WHERE ID IN (1,2,3) 
+0

正しい構文を求め、それが役立つだろう...:Pあなたはのために働くのクエリを持って – McGarnagle

+0

君は。なぜあなたはそれを使いたくないのですか? –

答えて

1

oracleを使用している場合は、これが解決策になる場合があります。あなたが使用しているSQLのどのブランドを教えている場合、SQLサーバーで

SELECT * FROM MYTABLE WHERE NVL(ID,-1) IN (1,2,3,-1) 
+0

ありがとうございます。出来た。 :) –

3

短い答えですか?いいえ。IS NULL述語を使用する必要があります。 NULL!= NULL(2つのNULL値は必ずしも等しいとは限りません)。したがって、equals NULLin (..., NULL)のいずれのタイプも動作しません。

+0

大丈夫です。ありがとうございました。 –

0

あなたは使用する必要があります。

SELECT * FROM MYTABLE WHERE ID IN (1,2,3) OR ID IS NULL 

NULLは常にIS NULLの特別な処理を必要とします。

0

SELECT * FROM MYTABLE WHERE isnull(ID,0) IN (1,2,3,0) 
+0

それは仕事をしなかった。構文エラー。 –