0
5つの値に基づいてデータを取得する必要があるストアドプロシージャがありますが、値の1つが空の場合があります。しかし、カラムは空ではなくNULLなので、どういうわけかNULLであるかどうかを確認する必要があります。ここでSQL Server:使用可能な場合はデータをチェックします。IS NULLを使用します。
は私のコードです:
SELECT UVC
FROM [Blackbook].[VehicleUvc]
WHERE Year = @Year
AND Make = @Make
AND Model = @Model
AND Series = @Series
AND Style = @Style
ので@Series
は時々空の文字列ですので、私はそれ以外の場合は、それが現在やっているんだろう、それが空であるとき、それがnullであるかどうかを確認することが必要になります、通常の値に基づいてデータをルックアップします。それは私がコード内で行うことができるか、変数を宣言するときに何かする必要があるのでしょうか?
ような何か:それは列がnullのとき「それらが一致するよ「変数があるので、もし」」としてそれを取るヌルだ場合は、テーブルの列にISNULLを使用することができます
IF (@Series = '') { Series IS NULL } ELSE { Series = @Series }
これは、これらの変数がすべて空の文字列に設定されていない場合(これらがすべてvarcharsであることが前提であることを前提としている場合)のみ有効です。 nullがnullと等しくないことを忘れないでください。変数に「デフォルト値」の並べ替えを指定しない場合、where句は列に何をしても当てはまりません。私はあなたのサンプル擬似コードが示唆していることを知っていますが、明示的に気づくことが重要です。 – Xedni