SQL Server转义下划线

如何转义下划线字符?


我正在编写类似以下where子句的内容,并希望能够在末尾找到_d的实际条目。


Where Username Like '%_d'


慕的地6264312
浏览 767回答 3
3回答

素胚勾勒不出你

适用于SQL Server 2000的LIKE的T-SQL参考:您可以将通配符模式匹配的字符用作文字字符。要将通配符用作文字字符,请将通配符括在方括号中。下表显示了使用LIKE关键字和[]通配符的几个示例。对于您的情况:... LIKE '%[_]d'

拉莫斯之舞

显然,@ Lasse解决方案是正确的,但是还有另一种解决问题的方法:T-SQL运算符LIKE定义了可选的ESCAPE子句,该子句使您可以声明一个字符,该字符将下一个字符转义到模式中。对于您的情况,以下WHERE子句是等效的:WHERE username LIKE '%[_]d';            -- @Lasse solutionWHERE username LIKE '%$_d' ESCAPE '$';WHERE username LIKE '%^_d' ESCAPE '^';

开满天机

这些解决方案完全有意义。不幸的是,没有一个对我有用。我没有尝试麻烦,而是进行了以下工作:select * from information_schema.columns where replace(table_name,'_','!') not like '%!%'order by table_name
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server