소리소문 없이... 사랑도 명예도 이름도 남김 없이...
DexCore.net

DataBase/Oracle

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

탑~! 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;
/


728x90
반응형

'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