제45장 UTL_URL

내용 목차

45.1. 개요
45.2. 함수
45.2.1. ESCAPE
45.2.2. UNESCAPE

본 장에서는 UTL_URL 패키지의 기본 개념과 패키지 내의 함수를 사용하는 방법을 설명한다.

45.1. 개요

UTL_URL는 URL 주소를 ESCAPE 형태로 변환하기 위한 함수를 제공하는 패키지이다. ESCAPE 형태는 Legal Characters와 Reserved characters를 제외한 문자를 %xx(ASCII의 16진수 표현)으로 변경하는 것을 말한다.

문자 구분정규 표현식
Legal Characters[0-9] | [a-zA-Z] | - | _ | . | ! | ~ |* | ` | ( | )
Reserved characters; | / | ? | ; | @ | & | = | + | $ | ,

45.2. 함수

본 절에서는 UTL_URL 패키지에서 제공하는 함수를 알파벳 순으로 설명한다.

45.2.1. ESCAPE

URL 주소를 ESCAPE 형태로 변환하는 함수이다.

ESCAPE 함수의 세부 내용은 다음과 같다.

  • 프로토타입

    FUNCTION ESCAPE
    (
        url                     IN  VARCHAR2,
        escape_reserved_chars   IN  BOOLEAN  DEFAULT FALSE,
        url_charset             IN  VARCHAR2 DEFAULT NULL
    ) 
    RETURN VARCHAR2;
  • 파라미터

    파라미터설명
    urlESCAPE 형태로 변경할 URL 이름이다.
    escape_reserved_chars

    Reserved characters를 ESCAPE 형태로 변환할지의 여부를 결정한다.

    • TRUE: 변환한다.

    • FALSE: 변환하지 않는다. (기본값)

    url_charset

    변경할 URL 주소의 문자 집합이다.

    문자 집합을 변경하는 기능은 다음에 구현할 예정이므로, 기본값인 NULL로 이 파라미터를 지정한다.

  • 예제

    BEGIN
      dbms_output.put_line( UTL_URL.ESCAPE('http://www.w3.org/blah blah.html') );
    END;
    /

45.2.2. UNESCAPE

ESCAPE 형태(%xx)를 포함하는 URL 주소를 ESCAPE 형태가 아닌 일반 문자열로 변환하는 함수이다.

UNESCAPE 함수의 세부 내용은 다음과 같다.

  • 프로토타입

    FUNCTION UNESCAPE
    (
        url            IN  VARCHAR2,
        url_charset    IN  VARCHAR2  DEFAULT NULL
    ) 
    RETURN VARCHAR2;
  • 파라미터

    파라미터설명
    urlESCAPE 형태의 URL 주소의 문자열이다.
    url_charset

    변경할 URL 주소의 문자 집합이다.

    문자 집합을 변경하는 기능은 다음에 구현할 예정이므로, 기본값인 NULL로 이 파라미터를 지정한다.

  • 예외 상황

    예외 상황설명
    URL_BAD_URL잘못된 ESCAPE 문자열을 포함하는 경우이다.
  • 예제

    DECLARE
        ourl VARCHAR2(32767);    
        eurl VARCHAR2(32767);    
    BEGIN
        eurl := UTL_URL.ESCAPE('http://www.w3.org/Protocols/');
        ourl := UTL_URL.UNESCAPE(eurl);
    END;
    /