SQL中的转义字符
作者:网络转载 发布时间:[ 2016/10/20 11:40:30 ] 推荐标签:SQL 转义字符
之前写了篇文章《Oracle转义字符》,说到了Oracle中单引号“’”的转义字符是单引号“’”,那么其他的特殊字符的转义字符又是什么呢,如模糊查询的占位符“%”,“_”等。
经过测试,在Oracle中不能再使用单引号“’”来转义“%”,“_”了,而是用反斜杠“”,不仅如此,还要声明反斜杠“”是转义字符。
假设表为tb,字段为col,要在col中查询包含“%”或“_”字符的字段,sql如下:
-- Oracle
select * from tb where col like '%\%%' or col like '%\_%' escape ''
sql中“escape”表明声明反斜杠“”为转义字符,紧接在“”后的“%”表示“%”符号,而左右两边的“%”表示模糊查询占位符。
注意:“%”,“_”作为占位符只会出现在where之后,如果是select ‘%’ from dual不用转义了。
而MySQL中也是大同小异,不过MySQL不用写“escape”了,直接使用反斜杠“”可以了。
-- MySQL
select * from tb where col like '%\%%' or col like '%\_%'
后再来测试下单引号“’”,测试发现Oracle中依然只能使用单引号“’”作为单引号“’”的转义字符,而MySQL中可以使用单引号“’”和反斜杠“”作为单引号“’”的转义字符。
sql如下:
-- Oracle
select '''' from dual;
select * from tb where col like '%''%'
-- MySQL
select '''' from dual;
select * from tb where col like '%''%'
-- or
select ''' from dual;
select * from tb where col like '%'%'
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11