SQL/ORACLE
[order by]sql에서 order by 정렬할때 질문요
nineDeveloper
2015. 10. 8. 10:55
728x90
반응형
sql에서 order by 정렬할때 질문요
num 컬럼안의 데이터는
A1, A2, A3,A15, ,A5
sql에서 order by num asc 했을경우. 숫자 앞자리만 체크하는거 같은데..
A1
A15
A2
A3
A5
로 정렬이 되는데요....
A1
A2
A3
A5
A15
로 정렬되게 하려면 어떻게 해야하나요?...
답변 :
문자타입이라 위에 처럼 정렬되는것 같은데요.
A1, A2, A3,A15, ,A5 가지고 하시려면 숫자만 짤라서 order by 하시면 될것 같습니다.
Mssql, Sybase
ORDER BY convert(decimal, substring(col, 2, 2))
Oracle
ORDER BY to_number(substr(col, 2, 2))
==== 추가
ORDER BY 에 앞에 짜른것두 넣어주시면 됩니다.
Mssql, Sybase
ORDER BY substring(col, 1, 1) , convert(decimal, substring(col, 2, 2))
Oracle
ORDER BY substr(col, 1, 1), to_number(substr(col, 2, 2))
728x90
반응형