喜欢不在TSQL中工作

use*_*359 2 t-sql sql-server matching sql-like

考虑这个TSQL:

declare @b varchar(100)

set @b = 'BANK-41'

IF @b LIKE 'BANK_%'
BEGIN
    print 'Wrong Matching'
END
Run Code Online (Sandbox Code Playgroud)

为什么TSQL匹配字符串" BANK-"和" BANK_"?

小智 6

在TSQL中,下划线是表示单个char的通配符.

为了逃避,你需要用方括号包装它,如下所示:

'银行[_]%'

参见此页:http: //www.dirigodev.com/blog/web-development-execution/escaping-percent-and-underscore-characters-in-t-sql-like-clause/