URL解码表中的一列
答
Oracle提供的utl_url包含两个函数escape()和unescape(),允许您对url
进行编码和解码。为了解码编码的URL字符串http://www.%24-%26-%3C-%3E-%3F
,例如,我们可以做到以下几点:
SQL> select utl_url.unescape('http://www.%24-%26-%3C-%3E-%3F') as res
2 from dual
3 ;
结果:
RES
---------------------
http://www.$-&-<->-?
注意。如果您需要使用escape()
函数,您将无法直接在select
语句中使用它,因为函数的第二个参数是布尔数据类型。你将需要编写一个包装函数。
SQL> create or replace function url_encode(p_url in varchar2)
2 return varchar2
3 is
4 begin
5 return utl_url.escape(p_url, true);
6 end;
7/
Function created
SQL>
SQL> select Url_encode('http://www.$-&-<->-?') as res
2 from dual
3 ;
结果:
RES
-------------------------------------
http%3A%2F%2Fwww.%24-%26-%3C-%3E-%3F