就像操作员不在 SQL 服务器 2019 中工作一样

Like operator not working in SQL server 2019

所以我的问题基本上可以总结在我写的这段小代码中

declare @report varchar(100) = 'fajkfgadjk'

if @report like '%_%'
begin 
    select 1
end
else 
begin
    select 2
end

它应该显示 2 但它显示 1 它不会发生在其他人身上,比如 ',&^'

有人可以帮我吗?我想继续使用“_”,有什么解决方法吗?

谢谢

_ 是通配符。如果你想字面上匹配字符串中的_,你需要转义它。

IF @report like '%[_]%' -- will return true for `abc_def` but not `abcdef`

如果方括号有问题也可以用ESCAPE, 例如

IF @report like '%`_%' ESCAPE '`'

the documentation