0

0

oracle的转义字符是什么

WBOY

WBOY

发布时间:2022-01-25 14:12:48

|

9755人浏览过

|

来源于php中文网

原创

在oracle中的转义字符:1、单引号,用于引用字符串或对自身转义;2、双引号,用于将非法的格式符包装起来;3、“&”也就是and符号,用于接连两个转义自身;4、Escape,用于指定一个非特殊符号为转义符。

oracle的转义字符是什么

本教程操作环境:Windows10系统、Oracle 11g版、Dell G3电脑。

oracle的转义字符是什么

1、Oracle 特殊字符 转义

关键词:oracle    转义                                          

环境:oracle9i plsql

在plsql里边执行:

update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'

这条sql语句往数据库的pageurl字段放进去了一个url地址,但是执行的时候却并非那么理想,因为这其中有一个oracle的特殊字符,需要进行转义,那就是字符'&'.

怎么处理上例中的特殊字符?

两个办法:

       1) update userinfo setpageurl='myjsp?page=1'||'&'||'pagesize=10' where id='test'

        2) update userinfo setpageurl='myjsp?page=1'||chr(38)||'pagesize=10' where id='test'

其中||是连字符, chr(38)跟ASCII的字符转码是一致的。

plsql中还可以set define off来关闭特殊字符,还可以用show define来查看有些特殊定义的字符。

2、oracle 中如何转义 特殊字符

问: 如何转义 下划线 _

select * from ng_values where name like 'lady_%'

jieguo 结果显示 lady_test,lady_test,lady1

正确结果应该是:lady_test,lady_test

不包括lady1

请各位给出转义方法,3ks

answer:

select ... from ... where ... like '/_%' escape '/';

3、

insert into t(col) values(chr(ascii('&'))) ;

(方法一)

例:插入特殊字元'&'

SQL> SHOW DEFINE
define "&" (hex 26) ? <--- DEFINE的default值是 ‘&’
SQL> SET DEFINE OFF
SQL> SHOW DEFINE
define OFF
SQL> INSERT INTO  VALUES ('AT&T');

/

1 row created

(方法二)

SQL> SHOW ESCAPE
escape OFF <--- ESCAPE的default值是 OFF
SQL> SET ESCAPE ON
SQL> SHOW ESCAPE
escape "\" (hex 5c)
SQL> INSERT INTO temp_table VALUES ('select * from emp where ename =\&1');

1 row created.

几个测试方法:

SELECT 'myjsp?page=1&pagesize=10' FROM dual;
SELECT 'myjsp?page=1&pagesize=10' FROM dual;
SQL>   create   table   a  (b   varchar2(10));  
Table   created  
SQL>   insert   into   a  values('_a');

1   row   inserted  

Giiso写作机器人
Giiso写作机器人

Giiso写作机器人,让写作更简单

下载
SQL>   select   B   from  A   where   instr(b,'_a')>0;  
B  
----------  
_a  
select   B   from   A  where   b   like   '%\_a%'  escape   '\'

先启动转义符  

set   escape   on  

select   B   from   A  where   b   like   '%\_a%'  escape   '\';
select   B   from   A  where   b   like   '%\_a%'  escape   '\';

注意

在Oracle中双引号”不是转义字符,因此存储直接存储就可以了,不需要转义了。

oracle转义符有:

1,单引号

在ORACLE中单引号有两个作用:1)引用字符串;2)对自身转义。

引用字符串时,单引号是成对出现的;而对自身的转义,也必定是双数的,所以,一个sql语句中,单引号必定是成对的.

Select 'abc' a,'' b, '''' c, ' '' ' d From Dual;

复杂转义字符串可用连接符||拆分,便于理解。连接符号‘||’左右的单引号没有任何的关系,除非‘||’是作为字符串的一部分(这在动态SQL中很常见)。

Select 'name' || '''''' a, 'name''''' b From Dual;
Output:name''  name''

2,双引号

1)一般来说,字符串中的双引号仅仅被当作一个普通字符进行处理。

此时,双引号不需要成对出现:

Select 'hh24"小时""mi""分"""ss"秒"' Results From Dual;
Output:hh24"小时""mi""分"""ss"秒"

2)当出现在to_char的格式字符串中时,双引号有特殊的作用,就是将非法的格式符包装起来,避免出现ORA-01821: date format not recognized错误。

也就是说,去掉双引号和其包含的字符后,剩下的应该是一个合法的格式串。

to_char在处理格式字符串时,会忽略双引号:

Select To_Char(Sysdate, 'hh24"小时"mi"分"ss"秒"') As "当前时间/时分秒"  From Dual;

Output:09小时05分08秒 --别名中也有此应用

格式串为'hh24"小时"mi"分"ss"秒"';

去掉双引号部分后,剩下的是'hh24miss',是一个合法的格式串。

不过即使真不知道双引号的这个用法,也可以这样来处理,虽然麻烦一点:

Select To_Char(Sysdate, 'hh24') || '小时' || To_Char(Sysdate, 'mi') || '分' || To_Char(Sysdate, 'ss') || '秒' As Result From Dual;

Output:09小时05分08秒

3,&(and符号)

用来识别/设置自定义变量,后需跟变量名;如需作为字符使用,需使用Chr(38),或者接连两个&&(转义自身)

Select Chr(38) a, 'Tom&&Jerry' b, 'Gun ''N Roses' c From Dual;
Output:&    Tom&Jerry    Gun 'N Roses

4, Escape(指定转义符)

指定一个非特殊符号为转义符,多用在通配符转义

Select Table_Name From User_Tables Where Table_Name Like 'TB=_%=_%' Escape '=';
Output:TB_STUDENT_SCORE--筛选以TB开头,中间有两个_的表名

推荐教程:《Oracle视频教程

相关专题

更多
Java编译相关教程合集
Java编译相关教程合集

本专题整合了Java编译相关教程,阅读专题下面的文章了解更多详细内容。

11

2026.01.21

C++多线程相关合集
C++多线程相关合集

本专题整合了C++多线程相关教程,阅读专题下面的的文章了解更多详细内容。

4

2026.01.21

无人机驾驶证报考 uom民用无人机综合管理平台官网
无人机驾驶证报考 uom民用无人机综合管理平台官网

无人机驾驶证(CAAC执照)报考需年满16周岁,初中以上学历,身体健康(矫正视力1.0以上,无严重疾病),且无犯罪记录。个人需通过民航局授权的训练机构报名,经理论(法规、原理)、模拟飞行、实操(GPS/姿态模式)及地面站训练后考试合格,通常15-25天拿证。

16

2026.01.21

Python多线程合集
Python多线程合集

本专题整合了Python多线程相关教程,阅读专题下面的文章了解更多详细内容。

1

2026.01.21

java多线程相关教程合集
java多线程相关教程合集

本专题整合了java多线程相关教程,阅读专题下面的文章了解更多详细内容。

4

2026.01.21

windows激活码分享 windows一键激活教程指南
windows激活码分享 windows一键激活教程指南

Windows 10/11一键激活可以通过PowerShell脚本或KMS工具实现永久或长期激活。最推荐的简便方法是打开PowerShell(管理员),运行 irm https://get.activated.win | iex 脚本,按提示选择数字激活(选项1)。其他方法包括使用HEU KMS Activator工具进行智能激活。

2

2026.01.21

excel表格操作技巧大全 表格制作excel教程
excel表格操作技巧大全 表格制作excel教程

Excel表格操作的核心技巧在于 熟练使用快捷键、数据处理函数及视图工具,如Ctrl+C/V(复制粘贴)、Alt+=(自动求和)、条件格式、数据验证及数据透视表。掌握这些可大幅提升数据分析与办公效率,实现快速录入、查找、筛选和汇总。

6

2026.01.21

毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm
毒蘑菇显卡测试网站入口 毒蘑菇测试官网volumeshader_bm

毒蘑菇VOLUMESHADER_BM测试网站网址为https://toolwa.com/vsbm/,该平台基于WebGL技术通过渲染高复杂度三维分形图形评估设备图形处理能力,用户可通过拖动彩色物体观察画面流畅度判断GPU与CPU协同性能;测试兼容多种设备,但中低端手机易卡顿或崩溃,高端机型可能因发热降频影响表现,桌面端需启用独立显卡并使用支持WebGL的主流浏览器以确保准确结果

25

2026.01.21

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

7

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
SQL 教程
SQL 教程

共61课时 | 3.5万人学习

Java 教程
Java 教程

共578课时 | 48.8万人学习

oracle知识库
oracle知识库

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号