mySQL에서 varchar로 잡힌 필드를 정렬(order by)할 때 만약 원하는 값이 나오지 않는다면 BINARY()를 이용하는 것이 해결책이 될 수 있다.
예를 들어,
일 때, 쿼리문이 다음과 같을 때,
원하는 정렬 결과가 나오지 않는다면 다음과 같이 하면 된다.
이 방법은 varchar 등으로 정의된 필드에 한글이 입력되어 있고, order by로 정렬이 제대로 되지 않을 때 사용 가능하다.
감사합니다. 소프님, 드림님. :)
예를 들어,
CREATE TABLE `my_table` (
`idx` mediumint(8) unsigned NOT NULL auto_increment,
`id` varchar(20) NOT NULL default '',
`pass` varchar(20) NOT NULL default '',
`name` varchar(20) NOT NULL default '',
`email` varchar(35) NOT NULL default '',
PRIMARY KEY (`idx`)
)
`idx` mediumint(8) unsigned NOT NULL auto_increment,
`id` varchar(20) NOT NULL default '',
`pass` varchar(20) NOT NULL default '',
`name` varchar(20) NOT NULL default '',
`email` varchar(35) NOT NULL default '',
PRIMARY KEY (`idx`)
)
일 때, 쿼리문이 다음과 같을 때,
SELECT * FROM `my_table` ORDER BY name;
원하는 정렬 결과가 나오지 않는다면 다음과 같이 하면 된다.
SELECT * FROM `my_table` ORDER BY BINARY(name);
이 방법은 varchar 등으로 정의된 필드에 한글이 입력되어 있고, order by로 정렬이 제대로 되지 않을 때 사용 가능하다.
감사합니다. 소프님, 드림님. :)
'something useful' 카테고리의 다른 글
Adobe Acrobat Reader 로딩 속도를 빠르게. (0) | 2005.12.24 |
---|---|
금융결제원 전자인증센터 키보드 보안 프로그램 문제시 해결법 (0) | 2005.11.22 |
국민은행 인터넷뱅킹 보안프로그램 문제시 해결법 (8) | 2005.11.16 |
포맷 후 설치하는 프로그램들 (4) | 2004.05.16 |
쓸만한 p2p 프로그램 - Soulseek (0) | 2004.04.21 |