티스토리 뷰

select 구문에서 order by 옵션을 사용하는 경우 해당 칼럼에 한글 값이 있을 때 한글에 대한 정렬이 이상한 경우를 볼 수 있다.

그럴 경우 우선 해당 database의 옵션을 먼저 확인해 봐야 한다.

 

- database의 collate 옵션 확인하기

select datname, datcollate from pg_database;

 

처음 database 생성 시 별다른 설정을 해주지 않는다면 datcollate의 값은 "en_US.UTF-8" 이 default 값으로 설정된다.

해당 이슈를 해결하려면 database를 새로 생성하면서 datcollate 값을 "ko_KR.utf8"으로 설정해줘야 한다.

database를 백업하고 다시 생성하는 게 우선 부담되는 경우 select 구문에서 collate 옵션을 사용하면

정상적으로 한글이 정렬된 결과를 확인할 수 있다.

 

- select 구분에서 collate 옵션과 함께 order by 사용하기

select * from test_table order by name collate "ko_KR.utf8";

임시방편이기는 하지만 이런 방법도 있다는 것을 알아두면 좋을 것 같아서 정리해보았다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함