目前我有一个存储过程,它接受一个字符串
@vari as varchar(30)
if @vari is null
SELECT * FROM TABLE
else
SELECT * FROM TABLE WHERE col = @vari
endif
有没有办法内联if语句,因此不会因为1个参数而声明2个选择?
答案 0 :(得分:15)
SELECT * FROM TABLE WHERE (@vari is null or col = @vari)
答案 1 :(得分:3)
假设col
永远不是NULL,您可以这样做:
select *
from table
where col = isnull(@vari, col)