列の値として NULL に関係なく、すべての列の値を選択したい
私の問題は、IS NULL を使用して値を選択しようとすると、値として NULL を持つようなレコードを取得することです:(
declare @status varchar(50)=NULL
declare @path varchar(50)= 'India'
select
*
from [vwMYDATA]
where
Path like '%' + @path + '%' and
(Status = @status or @status IS NULL)
vwMYDATA
path status
INDIA1 NULL
INDIA2 close
INDIA3 open
上記のクエリを実行すると、ステータス列に NULL 値を持つすべてのレコードが取得されます
期待されるのは、ステータス値が指定されていない場合、すべてのステータス レコードを表示することです。
path status
INDIA1 NULL
INDIA2 close
INDIA3 open
それは示しています
path status
INDIA1 NULL
これらの 2 つのパラメーターを、この select ステートメントを持つストアド プロシージャに渡します。
ステータスが入力として指定されていない場合は、除外してすべてのレコードを表示するのを手伝ってください