【发布时间】:2013-11-05 01:32:06
【问题描述】:
考虑一下TSQL:
declare @b varchar(100)
set @b = 'BANK-41'
IF @b LIKE 'BANK_%'
BEGIN
print 'Wrong Matching'
END
为什么 TSQL 会匹配字符串“BANK-”和“BANK_”?
【问题讨论】:
标签: sql-server tsql matching sql-like
考虑一下TSQL:
declare @b varchar(100)
set @b = 'BANK-41'
IF @b LIKE 'BANK_%'
BEGIN
print 'Wrong Matching'
END
为什么 TSQL 会匹配字符串“BANK-”和“BANK_”?
【问题讨论】:
标签: sql-server tsql matching sql-like
在 TSQL 中,下划线是表示单个字符的通配符。
为了逃避,你需要用方括号括起来,像这样:
'银行[_]%'
【讨论】:
我认为,SQL Server 中的下划线是为通配符保留的。你需要逃避它。我想你可以把它放在括号里:
%[_]%
【讨论】:
您需要转义“_”。它是 Like 语句的特殊字符。可以用[]括起来。
【讨论】: