`

Oracle 转义字符

 
阅读更多

一、准备特殊数据
create table t_escape(s varchar2(50));

--show define -- define "&" (hex 26)
--show escape -- escape off

set define off
set escape on
insert into t_escape values('string&text');
insert into t_escape values('string/&text');
insert into t_escape values('string/%text');
insert into t_escape values('string/_text');
insert into t_escape values('string''text');
set escape off
set define on

insert into t_escape values('Top_Gun');
insert into t_escape values('Tom''s eye');
insert into t_escape values('normal');
insert into t_escape values('100%ps');
insert into t_escape values('12345');
insert into t_escape values('15%30');
insert into t_escape values('%40');
insert into t_escape values('25%XT');
insert into t_escape values('%%A3E5');
set define off
--直接插入如下数据时,插入结果不正确。
insert into t_escape values('T&T Company');
set define on
commit;
/

二、使用转义查询

[界定符][转义符]%'escape'[界定符] 为转义定义,如
转义_,使用$_%'escape'$,这里界定符是$。

select * from t_escape where s like 'Top$_%'escape'$';
界定符可以是空格,/,=,/,|,不能是字母。

例,查找含有'%'的所有字段:
select * from t_escape where s like '%/%%' escape '/';

'&'不能通过转义字符查找:
select * from t_escape where s like '%/&%' escape'/';
可以通过另外的方式进行转义:
select ascii('&') from dual; -- ASCII = 38
select * from t_escape where s like '%'||chr(38)||'%';

查找单引号:
select * from t_escape where s like '%''%';

分享到:
评论

相关推荐

    Oracle中转义字符的详细介绍

    在Oracle数据库中,转义字符是用来表示特殊含义的字符,特别是在字符串中,当需要在文本中插入单引号(')或者其他特殊字符时,转义字符就显得尤为重要。Oracle的转义字符是单引号自身,也就是说,如果你要在字符串...

    浅谈oracle中单引号转义

    在Oracle数据库中,单引号(')...总结来说,理解和正确使用单引号转义是编写Oracle SQL查询时的关键技能,尤其是在处理动态SQL和字符串操作时。了解双引号在特定情况下的特殊含义也有助于编写更灵活和准确的SQL语句。

    SQL中的转义字符

    然而,对于模糊查询的占位符 `%` 和 `_`,Oracle使用反斜杠 `\` 作为它们的转义字符。当你想要在查询中查找实际的百分号 `%` 或下划线 `_` 时,你需要在它们前面加上反斜杠,如 `'%\%%'` 或 `'%\_'`。这里的 `ESCAPE...

    oracle exp query参数 转义符的各个操作系统通用解决方法

    Oracle EXP_Query参数转义符是指在使用Oracle EXP工具导出数据时,query参数中的特殊字符需要进行转义,以避免引发错误。在不同的操作系统平台上,EXP_Query参数转义符的处理方法略有不同,但通过使用parfile文件,...

    oracle插入字符串数据时字符串中有'单引号问题

    总的来说,处理Oracle数据库中字符串含有单引号的问题,主要通过转义单引号或者使用参数化查询来解决。在编写SQL语句时,应当注意这类可能导致语法错误的特殊字符,并采取相应的预防措施,确保数据的正确插入和系统...

    Oracle中插入特殊字符:&和'的解决方法汇总

    还有一种方法是连续写两个单引号,如`'test '''`,第二个和第三个单引号构成一个转义字符,第四个单引号是实际内容。 3. **方法三:使用`CHR(39)`替换`'`** 类似于处理`&`字符,也可以通过`CHR(39)`来代表单引号...

    Oracle中的正则表达式

    * 字符转义与字符类:字符转义是指通过元字符“\”与其他字符进行组合,从而实现特殊字符的匹配。 * 字符组:字符组是指将模式中的某些部分作为一个整体,可以使用量词来修饰字符组,从而提高正则表达式的灵活性。 ...

    oracle数字转换中文

    1. **初始化变量**:首先定义了几个用于存储中间计算结果和最终输出结果的变量,包括`c_money`用于存储数字字符串,`b_string`用于构建最终的中文大写字符串,以及其他辅助变量如`l_money`、`l_sign`等。 2. **...

    Oracle 11g OCP 051

    在Oracle数据库中,ESCAPE子句可以用来定义转义字符,这样就可以在LIKE模式中搜索包含特殊字符的字符串。这表明了在SQL编程中,字符匹配和转义的技巧,这对于编写复杂查询语句非常重要。 根据提供的内容,我们详细...

    oracle 讲义

    - 转义字符用于特殊字符处理,如`\%`用于在`like`中匹配百分号。 - `escape`关键字定义自定义转义字符,如`escape '$'`。 以上是Oracle数据库的基础知识,包括客户端工具使用、用户管理、数据查询、数据过滤、...

    Oracle字符串怎样连接单引号

    在Oracle数据库中,处理字符串和单引号的连接是一个常见的任务,特别是在编写SQL查询和存储过程时。以下是一些关于如何在Oracle中正确连接和转义单引号的知识点: 1. **字符串识别标识**:在Oracle SQL中,单引号...

    马士兵oracle笔记

    12. **转义字符**:在`like`操作中,`%`和`_`是特殊字符,若要匹配它们本身,需要使用转义字符,如`ename like '%$%%' escape '$'`和`ename like '%/%%'`。 13. **排序**:`order by`子句用于对结果集进行排序,`...

    oracle常用问题解答

    **解答**: 在Oracle中查询包含特殊字符如通配符%与_的数据时,需要使用转义字符来避免这些字符被解释为通配符。通常使用的转义字符是反斜杠(\)或双写该字符。 - **示例**: 如果要查找包含百分号(%)的名字,可以使用...

    Oracle OCA 1Z0-051认证题库

    这些题目覆盖了SQL语言的基础用法,包括表的创建、视图的创建以及使用SQL查询中的通配符和转义字符等知识点。通过这些练习题的学习,可以帮助考生更好地掌握Oracle数据库中的SQL语言基础,并为参加Oracle OCA 1Z0-...

    oracle实现换行

    除了使用转义字符,Oracle还提供了一些内置函数来格式化输出,例如`DBMS_OUTPUT.PUT_LINE()`,这是一个在PL/SQL环境中用于打印多行信息的实用程序。以下是一个示例: ```sql BEGIN DBMS_OUTPUT.PUT('第一行 '); ...

    mysql转换到oracle数据库

    - **转义字符处理**: - 单引号`'`需要被转义为`''`。 - 特殊字符如` `等需转换为其对应的ASCII码或直接输入相应字符。 - 字符串中的逗号`,`需要被正确转义。 #### 二、程序处理中的关键差异 **1. 自动...

Global site tag (gtag.js) - Google Analytics