`
lovejuan1314
  • 浏览: 338434 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Oracle执行SQL时遭遇特殊字符&

阅读更多
转自http://blog.csdn.net/sfdev/archive/2008/07/29/2729336.aspx

因为前段时间也遇到这个问题,发现该blog记录的比较详细,特地转了过来.再次特别感谢博主!

今天在进行数据订正的时候写了一批很简单的update语句,结果在sqlplus中执行出现问题,提示让我输入对应参数的值?

原SQL如:
update trans_record set params = 'service=standard_bail&xxx=112' where trans_record_id = '3041';

经查,问题就出在字符&上,他是一个控制参数传入的字符;

要解决执行的问题,有如下几种方式:

1、在sqlplus中执行set define off关闭特殊字符,关闭前可用show define查看有哪些特殊字符;

2、
update trans_record set params = 'service=standard_bail'||'&'||'xxx=112' where trans_record_id = '3041';


3、
update trans_record set params = 'service=standard_bail'||chr(38)||'xxx=112' where trans_record_id = '3041';


4、

update trans_record set params = 'service=standard_bail\&xxx=112' where trans_record_id = '3041';

以上4种方式推荐使用第一种方式,简单,彻底解决特殊字符问题(前提是看清到底关闭了哪些特殊字符);因为特殊字符不止有&,还有%等;

PS:此类问题只在sqlplus中出现,我们日常开发中通过JDBC直接操作不会出现该问题;
分享到:
评论

相关推荐

    Oracle_Sql_中常用字符串处理函数

    Oracle Sql 中常用字符串处理函数 Oracle Sql 中提供了多种字符串处理函数,用于对字符串进行各种操作,如大小写转换、截取、连接、查找、替换等。下面是 Oracle Sql 中常用的字符串处理函数: 1. 大小写转换函数 ...

    oracle通过sql实现字符串转数字oracle函数

    oracle通过sql实现字符串转数字oracle函数,可用于字符串的最终排序

    在存储过程中执行字符串中存有的sql语句

    oracle在存储过程中执行字符串中存有的sql语句

    OracleSQL的优化.pdf

    常量的计算是在语句被优化时一次性完成,而不是在每次执行时。这可以提高 SQL 语句的执行效率。例如,在检索月薪大于 2000 的表达式中,如果 SQL 语句包括第一种情况,优化器会简单地把它转变成第二种。优化器不会...

    ORACLE和SQL Server的语法区别

    要将 Oracle DML 语句和 PL/SQL 程序迁移到 SQL Server 时,请按下列步骤执行: 1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部...

    oraclesql判断值为空-Oracle-sqlserver的空值(null)判断.pdf

    Oracle SQL 判断值为空OrNull 判断 Oracle SQL 中判断值为空或 Null 的方法有多种,在本文中,我们将介绍 Oracle 和 SQL Server 中的空值判断方法。 Oracle 中的空值判断 在 Oracle 中,可以使用 `NVL` 函数来...

    Oracle中如何用SQL检测字段是否包括中文字符

    突然想到Oracle有一个编码转换的函数叫Convert,如果一个字符串编码转换前后不一样表示字符串里面含有非ASCII字符,这样得到结果。后写出来测试了一下,确实可行,5500万记录10秒钟扫描结束。以下是测试用例:  ...

    oracle与SQL server的语法差异总结

    Oracle与SQL Server应用差异对比分析在Oracle中采用伪列rownum 获取结果集中排在前面的部分记录 Eg: 返回结果集中前10条记录 Select * from sysc01 where rownum Rownum可使用<、符号,不可使用>、>=符号,如果使用...

    DBHelper数据库操作类(支持OleDb、MySQL、Oracle、SQL、SQLite).zip

    数据库操作类(支持OleDb、MySQL、Oracle、SQL、SQLite、) 操作: 获取连接字符串 得到web.config里配置项的数据库连接字符串。 数据库连接字符串(web.config来配置),可以动态更改connectionString支持多数据库. ...

    Oracle SQL 内置函数大全

    Oracle SQL 内置函数大全 SQL中的单记录函数 给出整数,返回对应的字符 连接两个字符串 增加或减去月份 用于对查询到的结果进行排序输出

    sql expert for oracle 3.2 破解版

    解决的办法其实很简单,在注册表HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE这个位置新建一个字符串值ORACLE_HOME,把oracle的HOME值写进去就可以了!在10g以上的版本中一般ORACLE_HOME都存在HKEY_LOCAL_MACHINE\SOFTWARE\...

    Oracle经典SQL语句

    -- 字符串左填充和右填充,默认填充空格 -- 产生1~99行数据,少于一位则补0 -- 刪除相同行 -- 随机数 -- 产生业务流水号 -- 查询某张表中有哪些字段 -- 自循环表中 由叶子节点查父节点 -- 查子节点 复制一张表的...

    .Net Oracle一次请求执行多条sql语句 Oracle批处理 使用游标一次执行多条Sql语句

    Oracle 一次请求执行多条sql语句 在.net 中查询Sql Server 一次请求执行多条sql语句很简单 拼接起来就好了 初次接触oracle 在网上寻找了很多方法终于被我解决了 我把问题想复杂了 例子中提供了2种解决方案 一种...

    Oracle中sql语句(+)符号代表连接的使用讲解

    oracle中sql语句(+)符号代表连接 (+)在=前边为右连接 (+)在=后边为左连接 SELECT a.*, b.* from a(+) = b就是一个右连接,等同于select a.*, b.* from a right join b SELECT a.*, b.* from a = b(+)就是一个左连接...

    oracle 定位sql语句

    sql性能调优,oracle基本查询,等。

    Oracle高级sql学习与练习

    1、集合操作 2、EXISTS和NOT EXISTS的使用 3、WITH字句 4、MERGE INFO 合并资料 5、层次查询(HIERARICAL RETRIVEL) 6、DECODE函数和行列互换 7、CASE表达式 ...24、专题-ORACLE字符集问题 25、专题-随机值查询

    Sql Server与Oracle的区别

    要将 Oracle DML 语句和 PL/SQL 程序迁移到 SQL Server 时,请按下列步骤执行: 1. 验证所有 SELECT、INSERT、UPDATE 和 DELETE 语句的语法是有效的。进行任何必要的修改。 2. 把所有外部联接改为 SQL-92 标准外部...

    Oracle PL SQL程序设计 上 第五版(代码示例)

    《oracle pl/sql程序设计(第5版)》基于oracle数据库11g,从pl/sql编程、pl/sql程序结构、pl/sql程序数据、pl/sql中的sql、pl/sql应用构建、高级pl/sql主题6个方面详细系统地讨论了pl/sql以及如何有效地使用它。...

    oracle和SQL的语法区别

    3. 用相应 SQL Server 函数替代 Oracle 函数。 4. 检查所有的比较运算符。 5. 用“+”字符串串联运算符代替“||”字符串串联运算符。 6. 用 Transact-SQL 程序代替 PL/SQL 程序。 7. 把所有 PL/SQL 游标改为非...

Global site tag (gtag.js) - Google Analytics