如何转义下划线字符?我正在编写类似以下where子句的内容,并希望能够在末尾找到_d的实际条目。Where Username Like '%_d'
3 回答
素胚勾勒不出你
TA贡献1827条经验 获得超9个赞
适用于SQL Server 2000的LIKE的T-SQL参考:
您可以将通配符模式匹配的字符用作文字字符。要将通配符用作文字字符,请将通配符括在方括号中。下表显示了使用LIKE关键字和[]通配符的几个示例。
对于您的情况:
... LIKE '%[_]d'
拉莫斯之舞
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 '^';
开满天机
TA贡献1786条经验 获得超13个赞
这些解决方案完全有意义。不幸的是,没有一个对我有用。我没有尝试麻烦,而是进行了以下工作:
select * from information_schema.columns
where replace(table_name,'_','!') not like '%!%'
order by table_name
- 3 回答
- 0 关注
- 766 浏览
添加回答
举报
0/150
提交
取消