4
어떻게 Oracle에서 값을 디코딩 할 수 있습니까?URL의 테이블 디코드를
나는 오라클 DB 테이블에 저장된 URL 인코딩 된 문자열이있다. 나는 결과를 선택하는 동안 그것을 url_encode하고 싶다. 이것을 달성하는 빠른 방법?
어떻게 Oracle에서 값을 디코딩 할 수 있습니까?URL의 테이블 디코드를
나는 오라클 DB 테이블에 저장된 URL 인코딩 된 문자열이있다. 나는 결과를 선택하는 동안 그것을 url_encode하고 싶다. 이것을 달성하는 빠른 방법?
오라클은 두 가지 기능 escape()하고 인코딩하고 url
의를 디코딩 할 수 unescape()를 포함 utl_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