declare @d varchar
set @d = 'No filter'
if (@d like 'No filter')
BEGIN
select 'matched'
end
else
begin
select 'not matched'
end
上面的结果总是不匹配,任何人都可以告诉我为什么以及如何在我的存储过程中使用类似或“=”结果。 谢谢
最佳答案
将您的声明更改为
declare @d varchar(10)
然后
declare @d varchar(10)
set @d = 'No filter'
if (@d LIKE 'No filter')
BEGIN
select 'matched'
end
else
begin
select 'not matched'
end
会起作用的。
请记住LIKE用于模式匹配,
类似的东西
DECLARE @Val VARCHAR(10)
SET @Val = 'foo bar'
if (@Val LIKE '%foo%')
BEGIN
select 'matched'
end
else
begin
select 'not matched'
end
因此,根据您的情况,您可能需要将代码更改为
declare @d varchar(10)
set @d = 'No filter'
if (@d = 'No filter')
BEGIN
select 'matched'
end
else
begin
select 'not matched'
end
带有“=”
关于sql - ms sql在if语句中使用like语句结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2601394/