SQL Server转义下划线
我如何逃避下划线字符?
我正在写如下的where子句,并希望能够在最后find具有_d的实际条目。
Where Username Like '%_d'
用于SQL Server 2000的LIKE的T-SQL参考 :
您可以使用匹配字符的通配符模式作为文字字符。 要将通配符用作文字字符,请将通配符括在括号内。 该表显示了使用LIKE关键字和[]通配符的几个例子。
对于你的情况:
... LIKE '%[_]d'
显然@Lasse的解决scheme是正确的,但还有另外一种方法可以解决你的问题:T-SQL运算符LIKE
定义了可选的ESCAPE子句,它允许你声明一个字符,将下一个字符转义到模式中。
对于你的情况,下面的WHERE子句是等价的:
WHERE username LIKE '%[_]d'; -- @Lasse solution WHERE username LIKE '%$_d' ESCAPE '$'; WHERE username LIKE '%^_d' ESCAPE '^';