plsql中还可以set define off来关闭特殊字符,还可以用show define来查看有些特殊定义的字符。
Oracle数据有个字段是存储url的,内容有特殊字符&,如果直接想执行查询或插入操作的话有问题,如下:
在plsql里边执行:
update userinfo set pageurl='test.php?page=1&pagesize=10' where id='test'
这条sql语句往数据库的pageurl字段放进去了一个url地址,但是执行的时候却并非那么理想,因为这其中有一个oracle的特殊字符,需要进行转义,那就是字符'&'.
怎么处理上例中的特殊字符?
两个办法:
1) update userinfo set pageurl='test.php?page=1'||'&'||'pagesize=10' where id='test'
2) update userinfo set pageurl='test.php?page=1'||chr(38)||'pagesize=10' where id='test'
我们使用了|| 连字符, chr(38)跟ASCII的字符转码是一致的。
方法一
select ascii('&') from dual;
select chr(38) from dual;
方法二
单引号('),将一个单引号变为两个单引号即可
insert into test(name) values('''')
select * from test where name like '%''%'
本文探讨了在PLSQL中处理URL字段中的特殊字符'&'的方法,提供了两种实用的解决方案,一种是使用字符串连接符'||'和特殊字符直接拼接,另一种是通过ASCII码对应的chr函数进行转换。
2211

被折叠的 条评论
为什么被折叠?



