UTL_URLパッケージを使用して、URL (Uniform Resource Locators) を処理および管理できます。 このトピックでは、UTL_URLパッケージを使用してURLをエンコードおよびデコードする方法について説明します。
前提条件
PolarDB for PostgreSQL (Compatible with Oracle) クラスターは、次のデータベースエンジンバージョンを実行します。
PolarDB for PostgreSQL (Oracle互換) 2.0 (バージョン2.0.14.27.0以降)
次のステートメントを実行して、PolarDB for PostgreSQL (Compatible with Oracle) クラスターのデータベースエンジンのリビジョンバージョンを照会できます。
SHOW polar_version; UTL_URLパッケージの関数
関数 | 説明 |
URL内の特殊文字をエスケープしてURLをエンコードします。 各特殊文字は、文字のASCIIコードを表す2つの16進数字が続くパーセント記号 (%) に置き換えられます。 | |
URLを元の形式にデコードします。 |
エスケープ関数
この関数は、URL内の各特殊文字をパーセント記号 (%) に変換し、その後に文字のASCIIコードを表す2つの16進数字が続きます。
構文
FUNCTION escape(url in varchar2,
escape_reserved_chars in boolean default false,
url_charset in varchar2 default null)
RETURN varchar2;Parameters
パラメーター | 説明 |
| エンコードする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関数
この関数は、エンコードされたURLを元の形式にデコードします。
構文
FUNCTION unescape(url in varchar2,
url_charset in varchar2 default null)
RETURN varchar2;Parameters
パラメーター | 説明 |
| デコードするURL。 |
| URLの文字セット。 デフォルト値は NULL です。 |
例
特殊文字を含むURLをエンコードし、その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/数据库