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括號里的三個參數都用引號包含(三個外層引號),與屬於字符串的引號互不干擾