declare @d varchar
set @d = 'No filter'
if (@d like 'No filter')
BEGIN
select 'matched'
end
else
begin
select 'not matched'
end
Run Code Online (Sandbox Code Playgroud)
上面的结果总是不匹配任何人都可以告诉我为什么以及如何在我的存储过程中使用like或'='结果.谢谢
将您的声明更改为
declare @d varchar(10)
Run Code Online (Sandbox Code Playgroud)
然后
declare @d varchar(10)
set @d = 'No filter'
if (@d LIKE 'No filter')
BEGIN
select 'matched'
end
else
begin
select 'not matched'
end
Run Code Online (Sandbox Code Playgroud)
将工作.
请记住,LIKE用于模式匹配,
就像是
DECLARE @Val VARCHAR(10)
SET @Val = 'foo bar'
if (@Val LIKE '%foo%')
BEGIN
select 'matched'
end
else
begin
select 'not matched'
end
Run Code Online (Sandbox Code Playgroud)
因此,在您的情况下,您可能希望将代码更改为
declare @d varchar(10)
set @d = 'No filter'
if (@d = 'No filter')
BEGIN
select 'matched'
end
else
begin
select 'not matched'
end
Run Code Online (Sandbox Code Playgroud)
用"="