Oracle provides utl_url package containing two functions escape() and unescape() which allow you encode and decode urls. To decode an encoded url string http://www.%24-%26-%3C-%3E-%3F, for example, we can do the following:
SQL> select utl_url.unescape('http://www.%24-%26-%3C-%3E-%3F') as res
2 from dual
3 ;
Result:
RES
---------------------
http://www.$-&-<->-?
Note. If you need to use escape() function, you wont be able to use it in a select statement directly, because the second parameter of the function is of Boolean datatype. You will need to write a wrapper function.
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 ;
Result:
RES
-------------------------------------
http%3A%2F%2Fwww.%24-%26-%3C-%3E-%3F
0
Oranit Dar
On
This worked for me:
utl_url.unescape(replace('your text here', '+', ' '),'UTF-8')
Oracle provides utl_url package containing two functions escape() and unescape() which allow you encode and decode
url
s. To decode an encoded url stringhttp://www.%24-%26-%3C-%3E-%3F
, for example, we can do the following:Result:
Note. If you need to use
escape()
function, you wont be able to use it in aselect
statement directly, because the second parameter of the function is of Boolean datatype. You will need to write a wrapper function.Result: