0

選択に 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。

4

1 に答える 1