5

現在、文字列を受け取るストアドプロシージャがあります

@vari as varchar(30)
if @vari is null 
    SELECT * FROM TABLE 
else 
    SELECT * FROM TABLE WHERE col = @vari
endif

ifステートメントをインライン化して、1つのパラメータのために2つのselectを宣言しない方法はありますか?

4

2 に答える 2

15
SELECT * FROM TABLE WHERE (@vari is null or col = @vari)
于 2012-05-11T14:00:15.023 に答える
3

決してNULLでないと仮定するとcol、これを行うことができます。

select *
from table
where col = isnull(@vari, col)
于 2012-05-11T14:04:53.220 に答える