null値または空値を許可するvarcharカラムを含むテーブルがあります。今、私は「NULLが可能な変数と等しいかどうかを確認する方法
declare @myvar varchar(50)
:
は、私はそれは次のように定義されていますNULL値または通常の文字列(空でない)
に割り当てることができる変数が含まれているストアドプロシージャを書いています列がこの変数と等しいか、空であるかNULLである行を戻す問合せを作成しようとしています。列がnullで、変数は、それがどんな値を返しませんnullである
select * from mytable where mycolumn [email protected] or mycolumn =''
しかし場合:これまでのところ、私はこれが仕事に行くと思いました。
私はそれがこのような何かをやって動作させることができます知っている:
select * from mytable where (mycolumn = @myvar and mycolum is not null) or mycolumn is null or mycolumn =''
は、これを行うのより良い方法はありますか?
PS:あなたが言ったように、あなたの変数は、それがまだ一致しませんNULL
であれば、以降and mycolum is not null
:私はあなたがこの部分を必要としないANSI_NULLS OFFに
おかげ
感謝。私はあなたにも代替案を提示したので、あなたの回答に答えを記します。 – LEM