在處理sql時,遇到insert 或update 的參數中含有特殊字符「&」,下劃線「_」, 單引號" ' "等時,要作轉義處理。html
例:插入特殊字元'&'sql
update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'jsp
兩個辦法:
1) update userinfo set pageurl='myjsp?page=1'||'&'||'pagesize=10' where id='test'
2) update userinfo set pageurl='myjsp?page=1'||chr(38)||'pagesize=10' where id='test'url
注:其中 || 是連字符, chr(38)跟ASCII的字符轉碼是一致的。spa
例:搜索以「QA_」開頭的數據 :code
select CODE from CNT_CODELIST where code like 'QA_%'
htm
結果爲:QA_OFFICER_1,QA_OFFICER_2,QA112字符串
不符合,必須把下劃線轉義it
select CODE from CNT_CODELIST where code like 'QA/_%'escape '/'class
結果爲:QA_OFFICER_1,QA_OFFICER_2
轉義字符 % 處理手法如&
轉義字符 ’單引號 在PL/SQL裏兩個單引號等於一個單引號
補充:
SQL中escape的用法
使用 ESCAPE 關鍵字定義轉義符。 在模式中,當轉義符置於通配符以前時,該通配符就解釋爲普通字符。
例如,要搜索在任意位置包含字符串 5% 的字符串: WHERE ColumnA LIKE '%5/%%' ESCAPE '/'
先後兩個%做爲通配符使用,中間的%通過ESCAPE 轉義,做爲普通字符使用