본문 바로가기
개발/DBMS

문자+숫자 DB 컬럼 정렬하기

by EPdev 2020. 11. 9.
728x90

DB 컬럼을 정렬할 때

간혹 컬럼 data가 문자+숫자로 되어 있어서 정렬이 이상하게 될 때가 있다.

 

가령 아래와 같다.

SELECT * FROM VirtualMachines;

이런 경우에는 SELECT * FROM VirtualMachines ORDER BY VMName;

이렇게 수행해도 같은 결과가 나온다.

 

숫자의 정렬방식은 1, 10, 2, 3, 4, 5, 50 ... 이런 식이기 때문이다. 그럼 어떻게 변경해야할까?

 

SELECT * FROM VirtualMachines ORDER BY LEN(VMName), VMName;

이런식으로 변경해주면 된다.

LEN 이란 문자열의 길이를 반환해주는 함수이다. (같이 알아두면 좋은 것은 DATALENGTH 함수이니, 찾아보길 바란다.)

문자열의 길이로 먼저 정렬을 하고, 그 다음 안의 값으로 정렬하겠다는 의미!

위처럼 원하는 순서로 잘 나온다!

728x90

'개발 > DBMS' 카테고리의 다른 글

Transaction - 트랜잭션  (6) 2020.11.13
JOIN 문제 해결  (0) 2020.11.11
JOIN 문제  (0) 2020.11.05
RDBMS 정규화(Normalization) - 2/2  (0) 2020.09.27
RDBMS 정규화(Normalization) - 1/2  (2) 2020.09.24

댓글