SQL Server特殊符号转义(使用ESCAPE定义转义符)

发布时间 2024-01-11 11:12:09作者: 亟待!

 

SQL Server特殊符号转义(使用ESCAPE定义转义符)

 

1.在like语句中,用Escape来转义:

特殊符号A类(用[]包括起来):

对于特殊字符'%','[','[]', '_' 可以使用 '[]' 把它们包含起来:

select * from [dbo].[Locations] where state like '%[%]%'

select * from [dbo].[Locations] where city like '%[[]]%'

特殊符号B类(额外用关键字escape 指出来):

对于特殊字符'^', '-', ']' 因为它们本身在包含在 '[]' 中使用,所以需要用另外的方式来转义,于是就引入了 like 中的 escape 子句,另外值得注意的是:escape 可以转义所有的特殊字符:

select * from [dbo].[Locations] where city like '%[!]]%'escape'!'

LIKE  'AB&_%'   ESCAPE  ‘&’

  

 

2.默认情况下, '是字符串的边界符, 如果在字符串中包含', 则必须使用两个', 第1个'就是转义符:

select * from [dbo].[Locations] where city like '%''%'

两个百分号中间的分号,第一个是转义符,第二个是需要查询的条件'

 

select replace('abcdefg''','''','!')

上面的语句是为了把字符串{abcdefg'}里面的{'}替换成{!},所以查询结果是{abcdefg!}

标红的两个分号,第一个是转义符,第二个是字符串里面的内容,replace括号里的三个参数都用引号包含(三个外层引号),与属于字符串的引号互不干扰

 

·