MSSQL
STRING ORDER BY 가 안될때
흰이슬
2020. 3. 20. 15:16
MSSQL은 VARCHAR TYPE의 컬럼에 숫자값이 들어 있을때 ORDER BY 가 원하는 순서대로 나오지 않을때가 있다.
예를 들면 A라는 컬럼(VARCHAR)에 10,20,100,200이 들어있을경우, 해당 컬럼으로 ORDER BY 하면 10,100,20,200으로 정렬 된다. VARCHAR이므로 젤 앞글자로 우선 ORDER BY 되기 때문이다.
이럴때는 임의로 CONVERT(INT,A)해서 ORDER BY를 하면 제대로 정렬된다.
---참고사항: MAX가 제대로 안될때도 CONVERT(INT,A)이용하자.