mssql sqlserver escape 转义字符的写法


摘要:
在实际开发中,我们常常会遇见 一些字符串包含sql server关键字,
如果需要检索出关键字的相关信息,那么我们就需要用到转义的概念。
下文主要讲述检索sqlserver特殊关键字的方法



转义字符的写法简介:
1 采用[](双中括号)进行包含字符,包含的字符会被转义为普通字符
2 采用 escape 指定转义字符标志,转义字符后的字符会作为一个字符进行匹配


例:

create table A(keyId int identity,info varchar(100))
go
insert into A(info)values('test1[]%') ---插入sql关键字%
insert into A(info)values('test2[]_') ---插入sql关键字_
insert into A(info)values('test3[]^') ---插入sql关键字^
insert into A(info)values('test4[^abc]')  ---插入sql关键字[^abc] 
insert into A(info)values('test48[^abc]') 
insert into A(info)values('test48[^abc]') 
go
---select * from A 
go 

--例1:检索包含%关键字的行数据,需采用以下方式
---1.1将%采用中括号括起,进行转义
select *,'1.1' as [例1] from A where info like '%[%]%'   
go 
---1.2 采用escape指定匹配条件中转义字符为~
select *,'1.2' as [例2] from A where info like '%~%%'   escape '~'
go 
---1.3 采用escape指定匹配条件中转义字符为t
select *,'1.3' as [例3] from A where info like '%t%%'   escape 't'
go 

truncate table A
drop table A