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 '^';