【SQL】通配符及转义符
来源:互联网 发布:arch linux 龙芯 编辑:程序博客网 时间:2024/05/23 19:30
sql中,在like操作符里,%代表一个或多个字符,而_代表一个(仅仅一个)字符。
SQL> create table qt1(name varchar2(10));
表已创建。
SQL> insert into qt1 values('ABCD');
已创建 1 行。
SQL> insert into qt1 values('_BCDE');
已创建 1 行。
SQL> insert into qt1 values('_\BCDE');
已创建 1 行。
SQL> insert into qt1 values('_''BCDE');
已创建 1 行。
SQL> commit;
提交完成。
SQL> select * from qt1;
NAME
----------
ABCD
_BCDE
_\BCDE
_'BCDE
SQL>
ok,我们要查询记录的name字段包含BCD的记录,怎么写?
SQL> select * from qt1 where name like '%BCD%';
NAME
----------
ABCD
_BCDE
_\BCDE
_'BCDE
SQL>
很明显,返回结果是正确的。
我们要包含_BCD的记录,怎么写?
SQL> select * from qt1 where name like '_BCD%';
NAME
----------
ABCD
_BCDE
SQL>
很明显,返回结果不对,第一条记录是不想要的。
SQL> select * from qt1 where name like '\_BCD%' escape '\';
NAME
----------
_BCDE
SQL>
这下对了。那么我们需要返回_\BCDE呢?
SQL> select * from qt1 where name like '\_\\BCD%' escape '\';
NAME
----------
_\BCDE
SQL>
需要返回_'BCDE呢?
SQL> select * from qt1 where name like '\_\'BCD%' escape '\';
ERROR:
ORA-01756: 引号内的字符串没有正确结束
SQL> select * from qt1 where name like '\_''BCD%' escape '\';
NAME
----------
_'BCDE
SQL>
所以,需要对单引号进行转义时,只能在单引号前面再添加一个单引号来进行转义,而使用escape声明的的转义符不行。
- 【SQL】通配符及转义符
- SQL中通配符、转义符与
- SQL转义字符和通配符
- SQL中通配符、转义符与"["号的使用(downmoon)
- SQL中通配符、转义符与"["号的使用
- SQL中通配符、转义符与括号的使用
- SQL中通配符、转义符与"["号的使用(downmoon)
- SQL中通配符、转义符与"["号的使用
- SQL中通配符、转义符与"["号的使用
- SQL中通配符、转义符与括号的使用
- SQL中通配符、转义符与"["号的使用
- 通配符、元字符、转义符
- sql中对通配符的转义
- SQL查询中的通配符字符转义
- SQL Server中的通配符和转义字符
- MySQL 模糊查询及通配符转义
- SQL 通配符及替换
- SQL中like语句通配符、转义符与括号的使用
- Windows中编译Lua源码
- lightoj1190Sleepwalking【点在多变形内判断(射线法考虑全面)】
- 理解敏捷测试与传统测试的区别
- LINUX服务器mysql数据库的安装和配置
- mac系统下如何切换root权限
- 【SQL】通配符及转义符
- Windows笔记:dos下命令重命名
- 《剑指Offer》面试题:八皇后问题
- 第113讲:10分钟从技术角度理解Hadoop学习笔记
- Java8的新特新学习
- ios可视化编程 UI高级 UI_13
- U-Boot命令--制作自己的U-Boot菜单(一)
- io_file
- C++编程对缓冲区的理解