MySQL 문자열로 된 숫자를 정렬하기
페이지 정보
본문
MySQL로 저장을 할 때 숫자 (정수형) 를 문자열로 하여 저장하는 경우가 있다. 정확히 하자면 그 데이터가 갖는 속성에 맞춰서 알맞은 자료형을 선택해야 하지만 (성적, 키 같은 데이터는 정수형으로 이름이나 주소 등은 문자열로 저장해야 된다.) 경우에 따라서는 예외로 숫자를 문자열로 저장할 수도 있다.
사람이 보기에는 1, 2, 11, 12, 21, 23 이 있을 때 문자열이나 숫자나 구분이 없지만, 어떤 자료형인가에 따라 정렬을 시켜보면,
정수형 -> 1, 2, 11, 12, 21, 23
문자열 -> 1, 11, 12, 2, 21, 23
이렇게 서로 다른 결과를 가지게 된다.
이때, 문자열인 숫자를 정수형 처럼 정렬을 하고 싶으면,
정렬 대상이 되는 칼럼값에 ‘ +0 ‘ 을 해주기만 하면된다.
select * from table order by column+0
http://plaboratory.org/archives/224
사람이 보기에는 1, 2, 11, 12, 21, 23 이 있을 때 문자열이나 숫자나 구분이 없지만, 어떤 자료형인가에 따라 정렬을 시켜보면,
정수형 -> 1, 2, 11, 12, 21, 23
문자열 -> 1, 11, 12, 2, 21, 23
이렇게 서로 다른 결과를 가지게 된다.
이때, 문자열인 숫자를 정수형 처럼 정렬을 하고 싶으면,
정렬 대상이 되는 칼럼값에 ‘ +0 ‘ 을 해주기만 하면된다.
select * from table order by column+0
http://plaboratory.org/archives/224
댓글목록
등록된 댓글이 없습니다.