상세 컨텐츠

본문 제목

한글 초성을 리턴해 주는 함수

DataBase/Oracle

by 탑~! 2012. 7. 13. 15:44

본문



CREATE OR REPLACE FUNCTION f_get_hanterm (han IN VARCHAR2)
   RETURN VARCHAR2
   DETERMINISTIC -- 함수인덱스를 걸기 위함
IS
   hanterm   VARCHAR2 (50);
BEGIN
   SELECT CASE
             WHEN han < 'ㄱ'
                THEN substr(han, 1, 1)
             WHEN ASCII ('ㄱ') <= ASCII (han)
             AND ASCII (han) <= ASCII ('ㅎ')
                THEN han
             WHEN han < '나'
                THEN 'ㄱ'
             WHEN han < '다'
                THEN 'ㄴ'
             WHEN han < '라'
                THEN 'ㄷ'
             WHEN han < '마'
                THEN 'ㄹ'
             WHEN han < '바'
                THEN 'ㅁ'
             WHEN han < '사'
                THEN 'ㅂ'
             WHEN han < '아'
                THEN 'ㅅ'
             WHEN han < '자'
                THEN 'ㅇ'
             WHEN han < '차'
                THEN 'ㅈ'
             WHEN han < '카'
                THEN 'ㅊ'
             WHEN han < '타'
                THEN 'ㅋ'
             WHEN han < '파'
                THEN 'ㅌ'
             WHEN han < '하'
                THEN 'ㅍ'
             ELSE 'ㅎ'
          END
     INTO hanterm
     FROM DUAL;

   IF hanterm IS NULL
   THEN 
      hanterm := '';
   END IF;

   RETURN hanterm;
END;
/


'DataBase > Oracle' 카테고리의 다른 글

DBMS_METADATA 패키지를 이용  (0) 2012.07.13
테이블 스키마 내용 알아보는 쿼리문  (0) 2012.07.13
Oracle Schema 관련 쿼리  (0) 2012.07.13
Oracle 객체 정보 조회  (0) 2012.07.13
ORACLE 객체 조회  (0) 2012.07.09

관련글 더보기