Oracle SQL 部分特殊字符轉義及escape的用法


在處理sql時,遇到insert 或update 的參數中含有特殊字符“&”,下划線“_”, 單引號" ' "等時,要做轉義處理。

 

例:插入特殊字元'&'

update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'

兩個辦法:
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'

注:其中 || 是連字符, chr(38)跟ASCII的字符轉碼是一致的。

 

例:搜索以“QA_”開頭的數據 :

select CODE from CNT_CODELIST where code like 'QA_%'

結果為:QA_OFFICER_1,QA_OFFICER_2,QA112

不符合,必須把下划線轉義

select CODE from CNT_CODELIST where code like 'QA/_%'escape '/'

結果為:QA_OFFICER_1,QA_OFFICER_2

 

 

轉義字符 % 處理手法如&

 

轉義字符 ’單引號    在PL/SQL里兩個單引號等於一個單引號


補充:

SQL中escape的用法

使用 ESCAPE 關鍵字定義轉義符。 在模式中,當轉義符置於通配符之前時,該通配符就解釋為普通字符。

例如,要搜索在任意位置包含字符串 5% 的字符串: WHERE ColumnA LIKE '%5/%%' ESCAPE '/' 

前后兩個%作為通配符使用,中間的%經過ESCAPE 轉義,作為普通字符使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM