关键词: oracle    转义

环境:oracle 9i  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来关闭特殊字符,还可以用showdefine来查看有些特殊定义的字符。

2、oracle 中如何转义 特殊字符
问 : 如何转义 下划线 _

select * from ng_values wherename 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 特殊字符转义相关推荐

  1. Oracle特殊字符转义处理方法

    plsql中还可以set define off来关闭特殊字符,还可以用show define来查看有些特殊定义的字符. Oracle数据有个字段是存储url的,内容有特殊字符&,如果直接想执行 ...

  2. Oracle特殊字符转义:和'

    我们在SQL*PLUS下执行 SQL show all命令时,可以发现一个参数:define & (hex 26),如下所示 concat . (hex 2e) copycommit 0 co ...

  3. Oracle特殊字符转义

    GPS平台.网站建设.软件开发.系统运维,找森大网络科技! https://cnsendnet.taobao.com 来自森大科技官方博客 http://www.cnsendblog.com/inde ...

  4. html转义es,Js特殊字符转义之htmlEscape()方法

    为了防止XSS攻击,常常需要将用户输入的特殊字符进行转义,原生js貌似还没有直接对其专业的方法,最近再读Js高级程序设计的时候刚好看到,碰巧项目中也刚好需要使用次方法,于是就之家搬来用了. 网上关于转 ...

  5. java sql特殊字符处理_java用字符串拼接SQL语句的特殊字符转义问题

    在实际的项目开发中,往往会根据用户在界面的文本框中输入的信息,去数据库中做模糊查询.如果使用的是原始的JDBC和SQL,往往需要对用户的输入进行转义,避免生成的sql语法错误,或者防止SQL注入.比如 ...

  6. java sql 字符串 转义_java拼接SQL语句的特殊字符转义

    在实际的项目开发中,往往会根据用户在界面的文本框中输入的信息,去数据库中做模糊查询. 如果使用的是原始的JDBC和SQL,往往需要对用户的输入进行转义,避免生成的sql语法错误,或者防止SQL注入. ...

  7. php 正则特殊字符转义,php 正则特殊字符转义的方法

    php正则特殊字符转义的方法:首先创建PHP示例文件:然后定义字符串:最后通过反斜杠对特殊字符进行转义,并对变量进行解析即可. 推荐:<PHP视频教程> 问题 最近使用PHP正则表达式,书 ...

  8. http url特殊字符转义

    哪些字符需要编码 1.URL特殊字符转义,URL中一些字符的特殊含义,基本编码规则如下: 1.空格换成加号(+) 2.正斜杠(/)分隔目录和子目录 3.问号(?)分隔URL和查询 4.百分号(%)制定 ...

  9. java特殊字符转义html_HTML特殊字符转义

    问题 如果HTML的DOM元素的属性值中含有特殊字符,会造成属性值取值错误. 例如: 上面input的value属性值含有双引号,会造成最后解析到的value是空格. 解决方案 解决的办法就是对数据进 ...

最新文章

  1. Java基础05 实施接口
  2. Linux java集成安装环境,Linux下Java环境安装
  3. 火了!女教授把自己P成女娲,登上学术期刊封面
  4. Word2Vec学习笔记(一)
  5. 案例:按照JSP Model2思想实现用户注册功能
  6. OSError: [Errno 22] Invalid argument: ‘\u202aC:\\Windows\\Fonts\\方正粗黑宋简体.ttf‘解决方案
  7. mysql 增加分区_mysql在原有表的基础上添加分区
  8. 请求重定向与请求转发的比较(HttpServletResponse.sendRedirect方法和RequestDispatcher.forward方法)...
  9. SQL Server补丁版本的检查
  10. 使用更安全的C字符串操纵
  11. VS2010打开旧版本MFC工程无对话框
  12. 两个app应用之间的跳转
  13. 【信号与系统】z变换
  14. j2sdk_5_0.exe的使用
  15. ltp测试操作步详解(压力测试网站最详、下载、使用)
  16. 原来把300页Word转成PPT,只需要一个键!别再复制粘贴了
  17. UiPath Computer Vision本地版使用
  18. Math常用的数学运算(包括取整、取绝对值、保留几位小数等)
  19. VSCode取消注释斜体
  20. python pd Series 添加行_pd.Series的基本操作

热门文章

  1. Deep Learning × ECG (3) :心律失常ECG数据的预处理
  2. 【机器学习】朴素贝叶斯实现垃圾邮件过滤
  3. 红米K30pro问题小记
  4. 基于物联网卡实现的GPS定位
  5. 详解Oracle统计信息
  6. 如何解决visual studio提示使用_CRT_SECURE_NO_WARNINGS的问题
  7. 尽吾力,而不能至者,可以无悔矣(NOIP2018游记)
  8. LPC1768 IAP(一)
  9. 一个redis集群的管理工具
  10. 深圳市劳动仲裁案立案及保全