在Oracle中,如果在sql中出現'&'符號,會被自動轉義;
而被要求輸入在&符號後跟隨的字符串的值,例如:
update
tablename set
columnName='http://www.g.cn/cv2.jsp?spid=222&cid=333';
執行這個操作
時,Oracle會提示
Enter value for cid:
原因是在Oracle中 & 符號是作爲轉義字符使用的。
解
決方法:
用Oracle的字符串處理函數chr處理。chr(38)表示 &符號
改寫:
update
tablename set
columnName='http://www.g.cn/cv2.jsp?spid=222'||chr(38)||'cid=333';
由
此聯想開去,在數據庫中存入html的一些符號式,很可能都會出現這種情況,那麼如法炮製即可,如果有些符號的編碼不知道的,可以通過下面的方法來查詢:
select
ascii('&') from dual; ......
原文地址:http://www.ej38.com/showinfo/sql-Oracle-209257.html