`

Oracle转义字符

 
阅读更多
1、oracle 特殊字符 转义
关键词: oracle    转义                                          
环境:oracle 9i  plsql
在plsql里边执行:
update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'
这条sql语句往数据库的pageurl字段放进去了一个url地址,但是执行的时候却并非那么理想,因为这其中有一个oracle的特殊字符,需要进行转义,那就是字符'&'.
怎么处理上例中的特殊字符?
两个办法:
       1) update userinfo set pageurl='myjsp?page=1'||'&'||'pagesize=10' where id='test' 
        2) update userinfo set pageurl='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 <table_name> 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   
    
  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数据库中所有表的一个字段“flag”为“I”,语句为: update table_name set flag = 'I' “I”作为字符串,所以语句中I需要加上单引号。 由于数据库中有多张表,我不想一条...

    SQL中的转义字符

    之前写了篇文章《Oracle转义字符》,说到了Oracle中单引号“’”的转义字符是单引号“’”,那么其他的特殊字符的转义字符又是什么呢,如模糊查询的占位符“%”,“_”等。  经过测试,在Oracle中不能再使用单引号...

    浅谈oracle中单引号转义

    主要介绍了浅谈oracle中单引号转义的香瓜内容,涉及单引号的作用以及其具体用法,具有一定参考价值,需要的朋友可以参考下。

    sql注入字符转换器

    字符之间的转换支持:单字符转换、MSSQL转换、Oracle转换、字符集转换、URL反转、URL正传、URL转义、宽字符转换

    oracle数据同步到Greenplum的python脚本

    4、脚本避免转义字符将‘\’替换为‘/’,数据中存在分割符:^转换为# 5、特殊字符处理:删除:'\u0000','"',oracle数据回车符:'\r','\n' 6、支持按分区导入 7、支持内存处理数据导入greenplum,导入失败生成csv格式...

    ORACLE,mysql,sqlserver,sybase数据库装文本软件

    每条记录结尾的分隔符,默认是 \r\n回车换行符,支持前面-c参数说的转义符 oracle例子: 登陆scott用户,裝载a.txt的逗号分隔的gbk编码文本内容到scott.emp java -jar xxx.jar -i 127.0.0.1 -p 1521 -s ora10 -u ...

    Oracle练习笔试大全

    //(用转义字符/查询字段中本身就带%字段的) 25、select ename from emp where ename like '%$%%' escape '$'; //(用转义字符/查询字段中本身就带%字段的) 26、select * from dept order by deptno desc; (使用...

    jdk-13.0.1_windows-x64_bin.exe

    原生字符串文字(raw string literals),它可以跨多行源码而不对转义字符进行转义。目标是简化 Java 的开发,比如开发者可以可读形式表示字符序列,而不会掺杂一些 Java 指示符,或者提供针对 Java 以外的语法的...

    SQL培训第一期

    escape关键字经常用于使某些特殊字符,如通配符:'%','_'转义为它们原来的字符的意义,被定义的转义字符通常使用'\',但是也可以使用其他的符号。 select * from Student_a where name like '%$%%' escape '$'; 1.7.6...

    精通SQL 结构化查询语言详解

    6.5.5 使用ESCAPE定义转义符  第7章 连接符、数值运算与函数  7.1 本章实例用到的表 7.2 连接符 7.2.1 连接符的应用  7.2.2 使用别名 7.3 数值运算  7.3.1 数学运算符的种类 7.3.2 数学运算符的运用 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例043 使用转义字符输出特殊字符 74 实例044 使用常量指定PI的值计算圆的面积 75 2.2 运算符 75 实例045 自定义数字的加密/解密算法 76 实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例043 使用转义字符输出特殊字符 74 实例044 使用常量指定PI的值计算圆的面积 75 2.2 运算符 75 实例045 自定义数字的加密/解密算法 76 实例046 比较两个时间戳的大小 77 实例047 使用条件运算符判断数字的奇偶性 ...

    精通SQL--结构化查询语言详解

    6.5.5 使用escape定义转义符 115 第7章 连接符、数值运算与函数 117 7.1 本章实例用到的表 117 7.2 连接符 118 7.2.1 连接符的应用 118 7.2.2 使用别名 119 7.3 数值运算 121 7.3.1 数学运算符的种类 121 ...

    PL/SQL 基础.doc

    'tom''s pen' ''为2个单引号(标识转义) 为tom's pen 2)数字型 123 -4 +56 0 9.0 1.23E5 9.8e-3 3)布尔型 TRUE FALSE NULL 7. 变量声明 语法 Var_name [CONSTANT](标识常量,可选) type [NOT NULL](标识为not-...

    php网络开发完全手册

    7.5.4 转义正则表达式字符——preg_ 7.5.4 quote 113 7.5.5 执行正则表达式的搜索和替换 7.5.5 函数——preg_replace 114 7.5.6 通过回调函数执行正则表达式 7.5.6 的搜索和替换——preg_replace_ 7.5.6 callback ...

    C#编程经验技巧宝典

    19 &lt;br&gt;0038 巧用“^=”运算符 19 &lt;br&gt;0039 巧用位移运算符 20 &lt;br&gt;0040 使用条件运算符 20 &lt;br&gt;0041 巧用分隔符 20 &lt;br&gt;0042 如何处理转义字符 21 &lt;br&gt;0043 “;”结束符问题 21 ...

    PHP网络编程技术与实践 源码

    2.3.4 字符串的转义 2.3.5 字符串的格式化 2.4 PHP的日期时间处理 2.4.1 时间与日期的显示操作 2.4.2 时间与日期的格式化输出 2.5 PHP的URL处理 2.5.1 URL字符串的处理 2.5.2 Base64 编码解码 2.6 本章小结 第3章 ...

    精髓Oralcle讲课笔记

    --(用转义字符/查询字段中本身就带%字段的) 25、select ename from emp where ename like '%$%%' escape '$'; --(用转义字符/查询字段中本身就带%字段的) 26、select * from dept order by deptno desc; (使用...

Global site tag (gtag.js) - Google Analytics