본문 바로가기
mysql

mysql varchar 형 자료의 숫자 정렬

by 씨엔아이소프트 2022. 2. 11.
반응형

mysql  특정 필드의 형식이 varchar 일때  값이 숫자로 입력된 경우 정렬을 하면 이상하게 된다.

 

값이 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 일때 오름차순 정렬 하면 아래와 같이 이상하게 정렬된다.

 

SELECT * FROM tablename ORDER BY varcharID

1, 10, 11, 12, 2, 3, 4, 5, 6, 7, 8, 9

 

테이블의 자료형을 변경하지 않고 정렬하는 간단한 팁으로 *1을 해주면 된다.

 

SELECT * FROM orderex ORDER BY varcharId*1

 

결과값이 정상적으로 정렬된다.

1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12

 

 

내램차순으로 하려면

SELECT * FROM orderex ORDER BY length(varcharId) desc,varcharId desc

 

 

반응형

댓글