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   '\'  

转载于:https://blog.51cto.com/denver/51628

oracle学习总结二(转义字符)相关推荐

  1. oracle 学习(二)

    学习笔记: 创建一个items表,设置ItemNo列为主键,ItemName列不能为空. create table Items (ItemNo number(2) constraint PK_Item ...

  2. oracle学习(二)pl/sql基础

    pl/sql组成:DDL DML DCL pl/sql特点: SQL&PL/SQL编译器集成PL/SQL,支持SQL所有范围的语法 支持CASE语句和表达式 继承和动态方法释放 类型进化.属性 ...

  3. Oracle 学习笔记二 Create table

    1.创建用户 create user hfy identified by hfy; 2.在该用户下建表 建表必须满足权限和表空间: 首先连接sys账户,grant create session to ...

  4. oracle用dual创建临时表,Oracle 学习系列之二(会话与事务级临时表和dual表 )

    一. 会话临时表 --创建会话临时表 create global temporary table tmp_user_session(user_id int, user_name varchar2(20 ...

  5. oracle两表链接序列跳序,Oracle学习之 序列(Sequence)

    Oracle学习之 序列(Sequence) [Oracle学习]之 序列(Sequence) oracle文档:https://docs.oracle.com/cd/B28359_01/server ...

  6. Mybatis学习总结二

    Mybatis学习总结二 0.不需要修改的文件(在src下面) jdbc.properties文件 log4j.properties文件 SqlMapConfig.xml文件 1.高级结果映射 1.1 ...

  7. [导入][转]sap学习手册二

    SAP学习手册二 作者:sunxufeng 有没有调整IDES4.6的中文包参数的步骤呢? 在导入中文包后直接手工修改有关参数,不要用CZ10去修改假定为D盘,路径为D:usrsapC11syspro ...

  8. 学习笔记:CentOS7学习之二十二: 结构化命令case和for、while循环

    目录 学习笔记:CentOS7学习之二十二: 结构化命令case和for.while循环 22.1 流程控制语句:case 22.2 循环语句 22.1.2 for-do-done 22.3 whil ...

  9. Oracle学习系列1-7

    Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...

最新文章

  1. 对C语言中递归算法的分析
  2. DevOps也要考虑安全问题:微软、任天堂等知名公司源码遭泄露
  3. UA MATH567 高维统计III 随机矩阵8 社区发现 Spectral Clustering的理论分析
  4. leetcode python3 简单题155. Min Stack
  5. 相机sd卡格式化后还能不能数据再恢复
  6. 数据库系统原理课程设计
  7. Multisim应用举例
  8. Java证件照剪切_GitHub - cacacai/idPicCut: 对原始证件照进行压缩,剪裁,换背景,(美颜)...
  9. 计算机屏保密码失效,Win7屏幕保护失效了怎么办 win7屏幕保护程序失效的解决方法...
  10. 在vue项目中使用高德地图
  11. Dota2 AI 开发 (二)定制AI阵容 配置英雄出装
  12. Win 10 系统下搭建 Python 编程环境,有手就行
  13. win7原版镜像_AMD平台B450主板安装WIN7教程
  14. Qt 设置窗口背景图片的几种方法实例
  15. 支持流畅运行win10的最低配置是什么
  16. 易语言源码利用QQ CK批量导入登录京东/京喜账号,进行登录
  17. 在Centos 6.4系统下安装配置fetion飞信机器人
  18. excel导出 服务器运行失败,用vc生成excel报表,提示“创建excel服务器失败”,该如何处理...
  19. beego学习与代码示例WebIM解析-Ali0th
  20. 音乐播放器制作一(Windows Media Player控件)

热门文章

  1. Java项目:进销存系统(java+Gui)
  2. 5单个编译总会编译全部_5分钟读懂JavaScript预编译
  3. python缩进在程序中长度统一且强制使用_Python习题纠错1
  4. mysql 查看当前事务id,MySQL 如何查询当前最新事务ID
  5. 前端try catch是如何捕获异常的_一文告诉你如何优雅处理前端异常?
  6. 出入口控制系统工程设计规范_[问答]连载77-控制系统之间如何时钟同步?
  7. 11-flutter事件监听
  8. 关于一些Linux SVN的安装使用
  9. NAT,Easy IP
  10. SQL SERVER中什么情况会导致索引查找变成索引扫描