1

NULLのようなステートメントの中に含めることは可能SELECT * FROM my_table WHERE my_field IN (1,2,NULL);ですか?

そうでない場合、少数の整数または NULL のみを許可することをどのように推奨しますか?

OR次のように使用するのが最善ですか:

SELECT *
FROM my_table
WHERE
   my_field IN (1,2)
OR my_field IS NULL;
4

1 に答える 1

3

を使用してくださいOR。これは、あなたが望むものの最も明確な表現です。

my_field次の場合に使用するデフォルト値を指定することもできますNULL

SELECT *
FROM my_table
WHERE COALESCE(my_field, 1) IN (1,2);

しかし、通常はと等しくないためNULLIN-listで a を使用しても機能しません。(どちらも不平等ではありません — 未定義です)。NULLNULL

于 2013-11-07T20:29:33.367 に答える