SQLServer转义符
1.在like语句中,用Escape来转义:
对于特殊字符'%','[','[]', '_' 可以使用 '[]' 把它们包含起来:
select * from [dbo].[Locations] where state like '%[%]%'
select * from [dbo].[Locations] where city like '%[[]]%'
对于特殊字符'^', '-', ']' 因为它们本身在包含在 '[]' 中使用,所以需要用另外的方式来转义,于是就引入了 like 中的 escape 子句,另外值得注意的是:escape 可以转义所有的特殊字符:
select * from [dbo].[Locations] where city like '%[!]]%'escape'!'
2.默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符:
select * from [dbo].[Locations] where city like '%''%'
两个百分号中间的分号,第一个是转义符,第二个是需要查询的条件'
select replace('abcdefg''','''','!')
上面的语句是为了把字符串{abcdefg'}里面的{'}替换成{!},所以查询结果是{abcdefg!}
标红的两个分号,第一个是转义符,第二个是字符串里面的内容,replace括号里的三个参数都用引号包含(三个外层引号),与属于字符串的引号互不干扰