選択に null 応答の可能性を取り込もうとしている SQL クエリがあります。
最終的に、これは SSRS レポートになります。
このクエリは正常に機能しますが、p.ReferralReason の null 値は常に返されます。@Reason の値が「%」以外の場合、null が返されないようにしたいと思います。
DECLARE @Reason varchar(100)
SET @Reason = 'Lost To Care'
SELECT p.Person_ID, P.Person_Name, p.ReferralReason
FROM VIEW_Patient p
WHERE
p.ReferralReason like '%' + @Reason + '%'
If @Reason @Reason = '%'
is set to '%', I would like to include the null values, but I do not want the null values if @Reason is set to something other.
これは私が試したものですが、うまくいきません:
DECLARE @Reason varchar(100)
SET @Reason = '%'
SELECT p.Person_ID, P.Person_Name, p.ReferralReason
FROM VIEW_Patient p
WHERE
case
when @Reason = '%' then (p.ReferralReason like '%' + @Reason + '%' or p.ReferralReason is null)
else p.ReferralReason like '%' + @Reason + '%'
end
MS SQL サーバー 2008 R2。