개요
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,
컬럼명;
잘 동작했습니다. 약간만 응용하면 다른 정렬도 가능할 것 같습니다.
반응형
'IT > DB' 카테고리의 다른 글
[Tibero]jdbc-10021:inconsistent set of rows in source tables 처리방법 (0) | 2024.03.20 |
---|---|
REGEXP_LIKE() 함수 정리 (1) | 2024.01.25 |
[MSSQL] 임시테이블(@테이블,#테이블) (0) | 2023.06.20 |
[티베로] MERGE 사용 (0) | 2023.04.26 |
TIBERO에서 사용되는 WITH 절(인라인뷰 대신) (0) | 2023.04.24 |