为了账号安全,请及时绑定邮箱和手机立即绑定

SQL Server转义下划线

SQL Server转义下划线

慕的地6264312 2019-10-26 12:40:28
如何转义下划线字符?我正在编写类似以下where子句的内容,并希望能够在末尾找到_d的实际条目。Where Username Like '%_d'
查看完整描述

3 回答

?
素胚勾勒不出你

TA贡献1827条经验 获得超9个赞

适用于SQL Server 2000的LIKE的T-SQL参考:


您可以将通配符模式匹配的字符用作文字字符。要将通配符用作文字字符,请将通配符括在方括号中。下表显示了使用LIKE关键字和[]通配符的几个示例。


对于您的情况:


... LIKE '%[_]d'


查看完整回答
反对 回复 2019-10-26
?
拉莫斯之舞

TA贡献1820条经验 获得超10个赞

显然,@ Lasse解决方案是正确的,但是还有另一种解决问题的方法:T-SQL运算符LIKE定义了可选的ESCAPE子句,该子句使您可以声明一个字符,该字符将下一个字符转义到模式中。


对于您的情况,以下WHERE子句是等效的:


WHERE username LIKE '%[_]d';            -- @Lasse solution

WHERE username LIKE '%$_d' ESCAPE '$';

WHERE username LIKE '%^_d' ESCAPE '^';


查看完整回答
反对 回复 2019-10-26
?
开满天机

TA贡献1786条经验 获得超13个赞

这些解决方案完全有意义。不幸的是,没有一个对我有用。我没有尝试麻烦,而是进行了以下工作:


select * from information_schema.columns 

where replace(table_name,'_','!') not like '%!%'

order by table_name


查看完整回答
反对 回复 2019-10-26
  • 3 回答
  • 0 关注
  • 766 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信