《数据库技巧》oracle 数据库的sql语句中 ‘&’ 符号的处理

由于navicat在开发中用的比较习惯了,因此在使用oracle数据库的时候,几乎都忘记了还有pl/sql这个工具,并且新增,修改语句也基本都是直接在表里面直接进行修改,这是一个很不好的习惯,一定得改!!


今天,有一天数据要新增到数据库里面,我从navicat里面导出的sql如下:

INSERT INTO tomatocc.CONFIGF(ID,NAME,VALUE,DESCP) VALUES '1', '跳转地址', 'www.test.com/back?userId={}&name={}', '用户跳转地址');

然而,当我拿着这条sql去执行的时候,发现数据库插入的值居然是这个玩意:
www.test.com/back?userId={}&
‘&’符号后面的东西全被“和谐掉了”。

解决方法:
百度了有几种方法,不过由于生产上的东西不是随便让人该的,只能去修改自己的sql语句。将‘&’符号进行转义,转义前后对比如下:

INSERT INTO tomatocc.CONFIGF(ID,NAME,VALUE,DESCP) VALUES '1', '跳转地址', 'www.test.com/back?userId={}&name={}', '用户跳转地址');

转义后


INSERT INTO tomatocc.CONFIGF(ID,NAME,VALUE,DESCP) VALUES '1', '跳转地址', 'www.test.com/back?userId={}'||'&'||'name={}', '用户跳转地址');

欢迎关注本人个人公众号,交流更多技术信息

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

tomatocc

赏杯咖啡

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值