본문 바로가기
오라클 게시판/오라클 함수

【오라클(Oracle) SQL 함수】 TRANSLATE … USING 함수

by 기서무나구물 2021. 10. 23.

포스팅 목차

     

    TRANSLATE ... USING

     


    문법

     

    translate_using::=

     


    목적 

    TRANSLATE ... USING함수는 char을 데이터베이스 문자 세트(Database character set)와 자국어 문자 세트(National character set) 사이의 변환을 위하여 지정된 문자 세트(character set)로 변경한다.

    주 의 : The TRANSLATE ... USING함수는 주로 ANSI 호환성에 대하여 지원된다. 오라클은 데이터를 데이터베이스나 각국어 문제 세트로 변환하기 위하여 TO_CHAR과 TO_NCHAR함수를 이용하는것을 추천한다. TO_CHAR 과 TO_NCHAR은 단지 문자 데이터만 수용하는 TRANSLATE ... USING보다 다양한 데어터 형을 인수로 취한다.

    char 인수가 변환되기 위한 식이다.

    • USING CHAR_CS인수를 지정하면, char은 데이터베이스 문자 세트로 변환한다. 출력 데이터 타입은 VARCHAR2이다.
    • USING NCHAR_CS인수를 지정하면, char은 각국어 문자 세트로 변환한다. 출력 데이터 타입은 NVARCHAR2이다.

    이 함수는 오라클 CONVERT함수와 유사하나, 입출력 데이터 타입이 NCHAR 또는 NVARCHAR2를 이용하는 경우에는 CONVERT함수 대신에 이 함수를 이용해야 한다.

    참 조 : CONVERT 함수 and UNISTR 함수

     


    관련 함수

    함수명 함수내용
    CONVERT 문자 세트를 다른 문자 세트의 문자열로 변환한다.
    TO_NCHAR (character) 문자열, CLOB, NCLOB 값을 자국어 문자 세트(National character set)로 변환한다.
    TRANSLATE ... USING char을 데이터베이스 문자 세트(Database character set)와 자국어 문자 세트(National character set) 사이의 변환을 위하여 지정된 문자 세트(character set)로 변경한다.
    UNISTR 유니코드 형태의 텍스트 문자열을 인수로 입력받아서 자국어 문자 세트(National character set) 형태로 인코딩 된 문자열을 반환한다.

     


    예제

    다음 예제는 TRANSLATE ... USING함수가 사용되는 방법을 확인하기 위해서 oe.product_descriptions 테이블을 사용한다.

    Oracle Program
    CREATE TABLE translate_tab (char_col  VARCHAR2(100),
                                nchar_col NVARCHAR2(50));
      INSERT INTO translate_tab 
        SELECT NULL, translated_name
        FROM   product_descriptions
        WHERE  product_id = 3501;
    
    SELECT * FROM translate_tab;

     

    Results
    CHAR_COL                  NCHAR_COL
    ------------------------- -------------------------
    . . .
                              C per a SPNIX4.0 - Sys
                              C pro SPNIX4.0 - Sys
                              C for SPNIX4.0 - Sys
                              C til SPNIX4.0 - Sys
    . . .

     


    Oracle Program
    UPDATE translate_tab 
       SET char_col = TRANSLATE (nchar_col USING CHAR_CS);
    
    SELECT * FROM translate_tab;

     

    Results
    CHAR_COL                  NCHAR_COL
    ------------------------- -------------------------
    . . .
    C per a SPNIX4.0 - Sys    C per a SPNIX4.0 - Sys
    C pro SPNIX4.0 - Sys      C pro SPNIX4.0 - Sys
    C for SPNIX4.0 - Sys      C for SPNIX4.0 - Sys
    C til SPNIX4.0 - Sys      C til SPNIX4.0 - Sys
    . . .

     


      --------------------------------------------  

    오라클 SQL 함수(Oracle SQL Function) 목록 리스트 링크

     

    [SQL, Pandas, R Prog, Dplyr, SQLDF, PANDASQL, DATA.TABLE]
    SQL EMP 예제로 만나는 테이블 데이터 처리 방법 리스트 링크
    반응형

    댓글