これは非常に基本的な質問かもしれませんが、私はちょうど質問を書いている間にやってきました。IS NULLをBITに変換する
NULL
のチェックをSQL ServerがBIT
に変換できないのはなぜですか?私はこのような何かを考えていた:
DECLARE @someVariable INT = NULL;
-- Do something
SELECT CONVERT(BIT, (@someVariable IS NULL))
期待される結果が、その後1
または0
のどちらかだろう。
それはできたが、それはそうではありません。たとえば、MySQLは可能でした;-) –
@ÁlvaroGonzálezMySQLには、標準以外のステートメントの**ロット**が含まれていますし、ブレークのSQLのロジックもあります。 'IS' *は条件式の外では使用できません。それは比較演算子ではありません。 NULL値のロジックでは、NULL *との比較は* nullです。'IS NULL'と' IS NOT NULL'は使用できる唯一の*条件付き演算子です –
@PanagiotisKanavos 'foo = NULL'は' foo IS NULL'とは違うと理解しています。しかし、MySQLの実装が何か問題を起こしている特定のシナリオがありますか?結局のところ、 'WHERE deletion_date IS NULL'を使うと、最終的にブール値で非nullの決定が得られます。 –