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
반응형
블로그 이미지

nineDeveloper

안녕하세요 현직 개발자 입니다 ~ 빠르게 변화하는 세상에 뒤쳐지지 않도록 우리모두 열심히 공부합시다 ~! 개발공부는 넘나 재미있는 것~!

,