oracle insert语句 字符串包含&符号( &——>'chr(38)' )

“&”符号在Oracle中常用来指出一个变量。

insert 语句中,如果某个字符串字段中包含"&"字符,会将“&”符号后面("="前)的字符串当做一个变量,导致出现错误

例如,在PL/SQL中执行以下插入语句:

insert into student(STU_NO, STU_NAME, STU_AGE, STU_SEX, STU_PHONE, STU_QQ, STU_URL) 
values('00013','小伟','14','男','13112345678','123456789','http://localhost:8080/myapp/index.html?userid=admin&password=123456');

 会出现下图的提示:

若不输入任何值,确定后会发现插入URL的字符串中的“&password”字符串丢失掉了,如下图:

为解决此问题,可将“&” 替换为“chr(38)”

insert into student(STU_NO, STU_NAME, STU_AGE, STU_SEX, STU_PHONE, STU_QQ, STU_URL) 
values('00013','小伟','14','男','13112345678','123456789','http://localhost:8080/myapp/index.html?userid=admin'||chr(38)||'password=123456');

结果:

如有错误之处,欢迎指出,谢谢!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值