首页 >

Oracle中转义字符总结

数据库|mysql教程Oracle中转义字符总结
Oracle教程,Oracle中转义字符数据库,Ora
数据库-mysql教程
asp个人网站源码,卸载双硬盘ubuntu,前后端分离部署tomcat,爬虫常见犯罪,php 图片上传实例,东坑关键词seo优化多少钱lzw
在字段里查找
lol辅助官网源码,vscode svn更新,ubuntu邮箱修改密码,tomcat 屏蔽url,封装sqlite模板代码,js幻灯片插件,前端框架用哪个好,爬虫抓取最新话题,php 与asp.net,qq空间seo,169美女图片网站源码,网页折叠特效,腾讯云 网站模板,html5注册页面,基于java ee员工管理系统源代码,linux程序设计第四版源代码lzw
网上校友录源码,vscode兼容性提示工具,ubuntu安装ncl,命令定时重启tomcat,银土爬虫,php 前置方法,丰润专业的seo优化收费标准lzw
在字段里查找’%’,涉及到Oracle的转义字符,现总结如下:

SQL> select * from test;

TEST
——————–
sdd_kk
d’d
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B

已选择9行。

其中包含特殊的字符分别为%,_,&,有可能包含这些字符的数据含有错误,或者需要查找包含这些字符的数据。


SQL> select * from test where test like ‘sdd _%’ escape ‘ ‘;

TEST
——————–
sdd_kk

转义字符为’ ‘;

SQL> select * from test where test like ‘sdd\_%’ escape ‘\’;

TEST
——————–
sdd_kk

转义字符为’\’;


SQL> select * from test where test like ‘sdd=_%’ escape ‘=’;

TEST
——————–
sdd_kk

转义字符为’=’;

SQL> select * from test where test like ‘sdd/_%’ escape ‘/’;

TEST
——————–
sdd_kk

转义字符为’/’;

SQL> select * from test where test like ‘sddd_%’ escape ‘d’;

未选定行

转义字符为d,没有实现转义功能;

SQL> select * from test where test like ‘%\_%’ escape ‘\’;

TEST
——————–
sdd_kk

查找包含所有’_’的字段。

同理:通过这种方法查找含有’%’的所有字段:

SQL> select * from test where test like ‘%\%%’ escape ‘\’;

TEST
——————–
dffa%asfs
1%2345
1%54321
2%54321
%%54321

但是’&’不能通过转义字符查找:

SQL> select * from test where test like ‘%\&%’ escape’\’;
select * from test where test like ‘%\&%’ escape’\’
*
第 1 行出现错误:
ORA-01424: 转义符之后字符缺失或非法

可以通过另外的方式进行转义:

SQL> select ascii(‘&’) from dual;

ASCII(‘&’)
———-
38

SQL> select * from test where test like ‘%’||chr(38)||’%’;

TEST
——————–
A&B

”’的转义:

SQL> select * from test where test like ‘%”%’;

TEST
——————–
d’d

特殊符号的数据的插入

SQL> insert into test values(‘test&test’);
输入 test 的值: test
原值 1: insert into test values(‘test&test’)
新值 1: insert into test values(‘testtest’) -虽然插入,但是数据不对。

已创建 1 行。

SQL> show define
define “&” (hex 26)
SQL> set define off
SQL> show define
define OFF
SQL> insert into test values(‘test&test’);

已创建 1 行。

SQL> show escape
escape OFF
SQL> set escape on
SQL> show escape
escape “\” (hex 5c)
SQL> insert into test values(‘test\&test’);

已创建 1 行。

SQL> select * from test;

TEST
——————–
sdd_kk
d’d
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest

TEST
——————–
test&test
test&test

已选择13行。

SQL> commit;

提交完成。

SQL> select * from test;

TEST
——————–
sdd_kk
d’d
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest

TEST
——————–
test&test
test&test

已选择13行。

SQL> insert into test values(‘test\%test’);

已创建 1 行。

SQL> insert into test values(‘test\_test’);

已创建 1 行。

SQL> insert into test values(‘test\’test);
insert into test values(‘test’test)
*
第 1 行出现错误:
ORA-00917: 缺失逗号


SQL> insert into test values(‘test”test’);

已创建 1 行。

SQL> select * from test;

TEST
——————–
sdd_kk
d’d
dfsfsa
dffa%asfs
12345
1%2345
1%54321
2%54321
%%54321
A&B
testtest

TEST
——————–
test&test
test&test
test%test
test_test
test’test

已选择16行。


Oracle中转义字符总结
  • Oracle 脚本:列出指定表的所有字段
  • Oracle 脚本:列出指定表的所有字段 | Oracle 脚本:列出指定表的所有字段 ...

    Oracle中转义字符总结
  • 关于Oracle分区表信息的查询
  • 关于Oracle分区表信息的查询 | 关于Oracle分区表信息的查询 ...

    Oracle中转义字符总结
  • 关于Oracle中update
  • 关于Oracle中update | 关于Oracle中update ...