多语言展示
当前在线:1090今日阅读:167今日分享:16

sql特殊字符怎么转义

sql语句跟其他语言一样,都有一些预定义的关键字和特殊字符。特殊字符比如:单引号、百分号、下划线等等,这些特殊字符该怎么转义呢?
工具/原料

sqlserver

方法/步骤
1

创建一个临时表,用于演示sqlserver语法中的特殊字符转义IF OBJECT_ID('tempdb..#tblSpecial') IS NOT NULL DROP TABLE #tblSpecial; CREATE TABLE #tblSpecial(    Col1 varchar(50),            Col2 varchar(200)        );

2

往临时表中插入一行测试数据,其中Col2列中含有一个特殊字符:百分号。从执行结果来看,在插入的时候百分号不需要转义insert into #tblSpecial(Col1, Col2) values('Code1', '第%列');

3

往临时表中插入一行测试数据,其中Col2列中含有一个特殊字符:单引号。刚写完单引号,就可以看到sql语句其实算报错了,因为在sql中的字符串就是使用单引号包起来的insert into #tblSpecial(Col1, Col2) values('Code10', '第'列');

4

那么,如果非要往临时表中,插入一个单引号,该如何转义呢。其实,使用两个单引号,就能表示一个字符的单引号了insert into #tblSpecial(Col1, Col2) values('Code10', '第''列');

5

往临时表中插入一行测试数据,其中Col2列中含有一个特殊字符:下划线。从执行结果来看,在插入的时候下划线不需要转义insert into #tblSpecial(Col1, Col2) values('Code100', '第_列');

6

如果要查询临时表中Col2列含有百分号的结果,该怎么查询呢?因为,模糊查询需要两个百分号,那么,要查找的百分号使用中括号包起来即可select * from #tblSpecial where Col2 like '%[%]%'

7

如果要查询临时表中Col2列含有下划线、单引号的结果,该怎么查询呢?由于在sqlserver中,下划线也是通配符,表示任何一个字符,所以,同样需要使用中括号包起来。至于单引号,仍然是两个连起来的单引号,表示一个单引号即可select * from #tblSpecial where Col2 like '%[_]%' or Col2 like '%''%'

推荐信息