如何在存储过程中检查参数是否为空
e.g
select * from tb_name where name=@name
我需要检查@name是否有值或null表示如何做。谢谢......
答案 0 :(得分:2)
这是你想要的吗?
select * from tb_name where name=@name and @name is not null
实际上,额外检查是不必要的,因为NULL
将无法进行任何比较。有时,NULL
用于表示“获取所有这些”。在这种情况下,你想要:
select * from tb_name where name=@name or @name is null
答案 1 :(得分:1)
如果您希望结果名称不为空且等于@name
,请尝试:
select * from tb_name where name=@name AND @name IS NOT NULL
如果您想要名称为空或等于@name
的结果,请尝试:
select * from tb_name where name=@name OR @name IS NULL
你在寻找其中一个?
答案 2 :(得分:1)
select *
from tb_name
where ((@name is null) or ([name] = @name))