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%93
UNESCAPE 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/数据库
文档内容是否对您有帮助?