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括号里的三个参数都用引号包含(三个外层引号),与属于字符串的引号互不干扰

 

 

posted @ 2019-09-16 14:19  MarkL9527  阅读(17813)  评论(0编辑  收藏  举报