UTL_URL包用於處理和操作統一資源定位器(即URL,Uniform Resource Locator),編碼和解碼URL。
前提條件
支援的PolarDB PostgreSQL版(相容Oracle)的版本如下:
Oracle文法相容 2.0(核心小版本2.0.14.27.0及以上)
說明
您可通過如下語句查看PolarDB PostgreSQL版(相容Oracle)的核心小版本號碼:
SHOW polar_version; UTL_URL子程式總覽
子程式 | 說明 |
用於編碼URL,將URL中的特殊字元進行轉義,使用百分比符號加兩位十六進位數字表示。 | |
用於解碼URL,將編碼後的URL解碼為原始URL。 |
ESCAPE Function
該函數將輸入的URL中的特殊字元進行轉義,使用百分比符號加兩位十六進位數字表示。
文法
FUNCTION escape(url in varchar2,
escape_reserved_chars in boolean default false,
url_charset in varchar2 default null)
RETURN varchar2;參數說明
參數 | 說明 |
| 待編碼的URL。 |
| 是否編碼URL中的保留字元,預設值為 說明 URL中的字元分為以下兩種:
|
| URL字元集,預設值為NULL。 |
樣本
此處展示了如何對包含特殊字元的URL進行編碼。
DECLARE
res varchar2;
BEGIN
res := utl_url.escape(url => 'https://www.aliyun.com/資料庫',
escape_reserved_chars => false,
url_charset => 'utf8');
dbms_output.put_line(res);
END;返回結果如下:
https://www.aliyun.com/%E6%95%B0%E6%8D%AE%E5%BA%93UNESCAPE Function
該函數用於將編碼後的URL解碼為原始的URL。
文法
FUNCTION unescape(url in varchar2,
url_charset in varchar2 default null)
RETURN varchar2;參數說明
參數 | 說明 |
| 待解碼的URL。 |
| URL字元集,預設值為NULL。 |
樣本
此處展示了如何將包含特殊字元的URL編碼後再次進行解碼。
DECLARE
res varchar2;
BEGIN
res := utl_url.escape(url => 'https://www.aliyun.com/資料庫',
escape_reserved_chars => false,
url_charset => 'utf8');
dbms_output.put_line('URL after escape:' || res);
res := utl_url.unescape(url => res,
url_charset => 'utf8');
dbms_output.put_line('URL after unescape:' || res);
END;返回結果如下:
URL after escape:https://www.aliyun.com/%E6%95%B0%E6%8D%AE%E5%BA%93
URL after unescape:https://www.aliyun.com/資料庫