`
冰加盐
  • 浏览: 46823 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

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 exp query参数 转义符的各个操作系统通用解决方法

    EXP_Query参数转义符的重要性在于,正确地转义特殊字符,可以避免EXP工具在导出数据时出现错误,确保数据的正确性和完整性。特别是在大规模的数据迁移和备份中,EXP_Query参数转义符的正确处理是非常重要的。 ...

    浅谈oracle中单引号转义

    ORACLE 单引号转义: 在ORACLE中,单引号有两个作用:   1:字符串是由单引号引用   2:转义。  单引号的使用是就近配对,即就近原则。而在单引号充当转义角色时相对不好理解  1.从第二个单引号开始被视为...

    Oracle中转义字符的详细介绍

    最近工作中遇到一个需求,需要更新Oracle数据库中所有表的一个字段“flag”为“I”,语句为: update table_name set flag = 'I' “I”作为字符串,所以语句中I需要加上单引号。 由于数据库中有多张表,我不想一条...

    SQL中的转义字符

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

    从mysql转换到oracle数据库.docx

    2. 将 `\'` 替换成 `''`,因为 Oracle 的转义字符为单引号。 3. 将 `&nbsp;` 替换成 `&nbsp;`,因为 Oracle 会将其当做参数。 4. 将 `,` 替换成 `,''`,这是需要转义引起的。 四、MySQL 与 Oracle 的不同 在实际...

    oracle数据同步到Greenplum的python脚本

    5、特殊字符处理:删除:'\u0000','"',oracle数据回车符:'\r','\n' 6、支持按分区导入 7、支持内存处理数据导入greenplum,导入失败生成csv格式文件,方便排错 8、支持生成csv格式文件导入greenplum。 9、传递不同...

    Oracle练习笔试大全

    Oracle练习笔试大全 1、select ename, sal * 12 from emp; //计算年薪 2、select 2*3 from dual; //计算一个比较纯的数据用dual表 3、select sysdate from dual; //查看当前的系统时间 4、select ename, sal*12 ...

    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 ...

    sql注入字符转换器

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

    C#检测是否有危险字符的SQL字符串过滤方法

    本文以一个C#的SQL数据库字串操作函数为例,说明如何实现对SQL字符串过滤、检测SQL是否有危险字符、修正sql语句中的转义字符,确保SQL不被注入等功能。具体实现代码如下: SQL字符串过滤函数: public static bool ...

    第十节 Sqlmap注入参数1-01

    本文将详细介绍 Sqlmap 的四个重要参数:强制设置DBMS、强制设置OS系统、关闭负载转换机制和关闭字符转义机制。 1. Sqlmap 强制设置DBMS Sqlmap 可以自动识别探测目标Web应用程序的后端数据库管理系统(DBMS)。 ...

    jdk-13.0.1_windows-x64_bin.exe

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

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

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

    SQL培训第一期

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

    精通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 ...

    Web安全深度剖析(张柄帅)

    5.5.2 特殊字符转义 101 5.5.3 使用预编译语句 102 5.5.4 框架技术 103 5.5.5 存储过程 104 5.6 小结 105 第6章 上传漏洞 106 6.1 解析漏洞 106 6.1.1 IIS解析漏洞 106 6.1.2 Apache解析漏洞 109 6.1.3 PHP CGI解析...

    PL/SQL 基础.doc

    2) 后跟任意的 非空格字符 数字 货币符号( $ ) 下划线( _ ) 或 # ; 3) 最大长度为30个字符(八个字符左右最合适); 用来给对象命名(潜规则): 变量: 以v_开头 游标: 以c_开头 类型: 子程序: 5. 分界符 1) ...

Global site tag (gtag.js) - Google Analytics