본문 바로가기
IT/DB

[Tibero] 한글,영문, 숫자 정렬 하기.

by 불멸남생 2024. 1. 25.

개요

tibero에서 한글, 영문, 숫자로 정렬을 하려고 합니다. 

 

방법

인터넷에 나온 방법 중 돠는 것이 있는지  테스트해 봤습니다.

...
ORDER BY CONVERT(컬럼명, 'US8ICL')

...
ORDER BY CONVERT(컬럼명, 'AL32UTF8')

...
ORDER BY CONVERT(컬럼명, 'ISO2022-KR')

...
ORDER BY CONVERT(컬럼명, 'KOREAN_M')

...
ORDER BY CONVERT(컬럼명, 'VN8VN3')

 

위와 같은 실행을 하니 아래와 같은 에러만 나왔습니다.

JDBC-11059 : This character set convertsionis not supported

JDBC-11043:Unsuppoerted character set was described

 

반응형


혹시나 해서 REGEXP_LIKE() 함수로 테스트를 해봤습니다. 완성된 코드는 아래와 같습니다.

SELECT *
FROM 테이블명
ORDER BY
  CASE
    WHEN REGEXP_LIKE(컬럼명, '^[가-힣]+$') THEN 1
    WHEN REGEXP_LIKE(컬럼명, '^[A-Za-z]+$') THEN 2
    WHEN REGEXP_LIKE(컬럼명, '^\d+$') THEN TO_NUMBER(컬럼명)
    ELSE 3
  END,
  컬럼명;

 

잘 동작했습니다.  약간만 응용하면 다른 정렬도 가능할 것 같습니다.

 

반응형