如何转义下划线字符?SQL Server Escape an Underscore
我写了类似下面的where子句,并希望能够在最后找到具有_d的实际条目。
Where Username Like '%_d'
如何转义下划线字符?SQL Server Escape an Underscore
我写了类似下面的where子句,并希望能够在最后找到具有_d的实际条目。
Where Username Like '%_d'
T-SQL Reference for LIKE for SQL Server 2000:
您可以使用通配符模式匹配字符为文字字符。要将通配符用作文字字符,请将通配符括在括号内。该表显示了使用LIKE关键字和[]通配符的几个示例。
对于您的情况:
... LIKE '%[_]d'
显然@Lasse的解决方案是正确的,但还有另一种方式来解决你的问题:T-SQL操作LIKE
定义了可选的ESCAPE条款,即允许声明字符这会将下一个字符转换为模式。
对于你的情况,以下WHERE子句是等效的:
WHERE username LIKE '%[_]d'; -- @Lasse solution
WHERE username LIKE '%$_d' ESCAPE '$';
WHERE username LIKE '%^_d' ESCAPE '^';
要完成图片:在`ESCAPE`子句是SQL标准的一部分,任何DBMS,不只是SQL Server将正常工作。 – 2015-06-17 07:46:29