您的位置:首页 > 数据库 > Oracle

Oracle中插入特殊字符 &

2013-01-16 18:32 274 查看
项目里有时候会遇到需要插入带有特殊字符 & 的数据,但是用的Toad客户端总是提示要给一个自定义变量"&.."(..是连载&后面的字符)赋值

插入数据的sql是:

insert into t_prs_template(template_id,hpe_cd,template_cat,template_name,template_type,template_content,created_ts,created_by,
updated_ts,updated_by,version,template_subject,app_type_cd,eff_start_dt,template_doc_id)
values(sys_guid(),'test','','test & charcater','L','test & character',sysdate,'system',sysdate,'system','1','test','',sysdate,'');


因为数据里面有个”& character" ,所以Toad把"& character"当成一个自定义变量。

在网上查了下,我是链接,点我点我 提供了三种解决方案

我自己测了下方法一和二,只有方法一可以用,方法二不可用,不知道为咩。。。

在Toad里面,执行以下代码

Set define OFF;
insert into t_prs_template(template_id,hpe_cd,template_cat,template_name,template_type,template_content,created_ts,created_by, updated_ts,updated_by,version,template_subject,app_type_cd,eff_start_dt,template_doc_id) values(sys_guid(),'test','','test & charcater','L','test & character',sysdate,'system',sysdate,'system','1','test','',sysdate,'');
Set define ON;


如果点击“

” 来执行,还是会提示给自定义变量"&charcater"赋值,在赋值栏填入 "& charcater"也可以达到目的

不过点击“

”来执行,就可以执行成功。

如果插入 单引号',可以多加一个 单引号'来转义

Set define OFF;
insert into t_prs_template(template_id,hpe_cd,template_cat,template_name,template_type,template_content,created_ts,created_by,
updated_ts,updated_by,version,template_subject,app_type_cd,eff_start_dt,template_doc_id)
values(sys_guid(),'test','','test & charcater and '' character','L','test & character',sysdate,'system',sysdate,'system','1','test','',sysdate,'');
Set define ON;


Update 同理。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: