欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

绑定变量中&的转义解决方案

更新时间: 2014-01-05 02:16:08 责任编辑: Author_N1

 

绑定变量中&的转义
我遇到一个问题关于&的转义

select JUL_VAL from MANUL_MTH_KPI_USFADS where MASTR_REGN_CODE = 948 AND MASTR_PLANT_CODE = 8347 AND MASTR_PROD_CATEG_CODE = :AAA
不巧的是,表中有一条这样的数据  "B&R/SC", 就是当:AAA被"B&R/SC" 替换后,SQL会提示输入&R的值

我已经尝试了用 escape '&'不管用
想用replace, substr()这一类的字符串处理函数想把它替换成B||'&'||R/SC也不行,因为,在没替换之间,就已经提示要输入&R的值, 请问各位大侠,有没有什么高明的方法

--参考方法--
先SET DEFINE OFF;关闭这个功能,然后再执行你的查询语句
--参考方法--
来自:http://hi.baidu.com/lyjnd321/blog/item/cc2ff82aaf5a6221d42af182.html
在SQL*Plus中默认的"&"表示替代变量,也就是说,只要在命令中出现该符号,SQL*Plus就会要你输入替代值。这就意味着你 无法将一个含有该符号的字符串输入数据库或赋给变量,如字符串“SQL&Plus”系统会理解为以“SQL”打头的字符串,它会提示你输入替代变 量Plus的值,如果你输入ABC,则最终字符串转化为“SQLABC”。 
set define off 则关闭该功能,“&”将作为普通字符,如上例,最终字符就为“SQL&Plus” 
set define off关闭替代变量功能 
set define on 开启替代变量功能 
set define *  将默认替代变量标志符该为“*”(也可以设为其它字符)
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:16:08
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7769/
本文WWW.DOC100.NET DOC100.NET版权所有。