前两天在SQL Server中写sql语句,遇到这样一个问题。 表tblNew中有个字段path,2条数据的path值分别为:[1][10][20],[2][10] 我想用模糊查询包含[1]的字段,sql如下:
select * from tblNew where path like '%[1]%'
本以为只出[1][10][20]的数据,没想到两条都出来了。因此怀疑 [ ] 可能是特殊字符,like条件并未当做'%[1]%'检索,而是以'%1%'进行了检索。
修改方法有2种:
1. 使用" [ ] " 对" [ "进行转义:
select * from tblNew where path like '%[[]1]%'
2. 使用escape进行转义符申明并用" / " 转义
select * from tblNew where path like '%/[1]%' escape '/'
转载请注明原文地址: https://ju.6miu.com/read-2185.html