oracle insert &字符插入问题

时间:2023-12-21 23:51:44

例如执行一下语句:

insert into NSRXT_SP (SP_ID, SP_TITLE, SP_DESC, SP_URL, SP_TYPE, SP_SUB_TYPE, ADD_TIME, CZRY_DM)
values (227, '【提醒】新所得税申报表填写小提示', null, 'http://hdsw.wangzhanbaomu.com/index.php?g=Wap&m=Index&a=content&id=561&classid=79&token=tnxjwh1411757286&wecha_id=oCyfXjjVQn69ytFPvkT2eUI_Y6jA', '', ' ', to_date('21-07-2015 11:07:58', 'dd-mm-yyyy hh24:mi:ss'), null);

SP_URL字段对应的是一个带参数的超链接,在执行过程中Oracle把&当做自定义变量来进行处理了。

解决方法:

(1)网上有人说通过设置set define OFF,来进行解决,但是我的还是不可以;

(2)把&使用Oracle字符处理函数chr来进行处理(此种方法成功):chr(38)表示&字符

insert into NSRXT_SP (SP_ID, SP_TITLE, SP_DESC, SP_URL, SP_TYPE, SP_SUB_TYPE, ADD_TIME, CZRY_DM)
values (227, '【提醒】新所得税申报表填写小提示', null, 'http://hdsw.wangzhanbaomu.com/index.php?g=Wap'||chr(38)||'m=Index'||chr(38)||'a=content'||chr(38)||'id=561'||chr(38)||'classid=79'||chr(38)||'token=tnxjwh1411757286'||chr(38)||'wecha_id=oCyfXjjVQn69ytFPvkT2eUI_Y6jA', '', ' ', to_date('21-07-2015 11:07:58', 'dd-mm-yyyy hh24:mi:ss'), null);