全部產品
Search
文件中心

PolarDB:UTL_URL

更新時間:Dec 13, 2024

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子程式總覽

子程式

說明

ESCAPE Function

用於編碼URL,將URL中的特殊字元進行轉義,使用百分比符號加兩位十六進位數字表示。

UNESCAPE Function

用於解碼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。

escape_reserved_chars

是否編碼URL中的保留字元,預設值為false

說明

URL中的字元分為以下兩種:

  • 非保留字元:A-Z a-z 0-9 -_.!~*'()

  • 保留字元:;/?:@&=+$,[]

url_charset

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%93

UNESCAPE Function

該函數用於將編碼後的URL解碼為原始的URL。

文法

FUNCTION unescape(url           in varchar2,
                  url_charset   in varchar2 default null)
RETURN varchar2;

參數說明

參數

說明

url

待解碼的URL。

url_charset

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/資料庫