utf-8 환경에서 데이타 언어 체크 1 2 2,431

by pranludi [2013.06.14 15:41:04]


안녕하세요 
oracle 11r2 사용중입니다.
캐릭터 셋은 utf-8 입니다.
저장된 데이타 중에서 영어/한글 이외 다른 언어가 있는지 확인을 하는데 함수가 있을까요?

sample data
------------------
Jenny Gonzalez
Ĺīā PipiLia
อรุณี อาเกะ
Janjira Nimatanawibul
تستمر الحياه
홍길성
------------------

by 아발란체 [2013.06.14 16:03:45]
--"Janjira Nimatanawibul"는 영어로 간주 됩니다. 구분 할 수 있는 기준이 없습니다.
--한글은 범위가 대충 찾아서 넣어 다를 수 있으며 오라클 버전에 따라서도 다를 수 있습니다.
--한글, 영문, 숫자가 아닌 글자가 들어 간 것을 찾기 때문에 예외를 따로 처리 해주셔야 합니다.

WITH T(WORD) AS (
 SELECT 'Jenny Gonzalez' FROM DUAL UNION ALL
 SELECT 'Ĺīā PipiLia' FROM DUAL UNION ALL
 SELECT 'อรุณี อาเกะ' FROM DUAL UNION ALL
 SELECT 'Janjira Nimatanawibul' FROM DUAL UNION ALL
 SELECT 'تستمر الحياه' FROM DUAL UNION ALL
 SELECT '홍길성' FROM DUAL
)
SELECT
 WORD, ASCII(WORD)
FROM
 T
WHERE
 NOT (
 ASCII(WORD) BETWEEN 14910641 AND 15572396 --한글
 OR
 ASCII(WORD) BETWEEN 65 AND 122 --영문 및 특수문자
 OR
 ASCII(WORD) BETWEEN 49 AND 57 --숫자
 )

--ASCILL 값 확인, SELECT NCHR(65) FROM DUAL

by pranludi [2013.06.14 16:11:15]
앗... 감사합니다 ㅜㅜ
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입