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
반응형
'SQL > ORACLE' 카테고리의 다른 글
제 8절 ORDER BY 절 (0) | 2015.11.20 |
---|---|
Oracle 9i #7. 단일 행 함수 (0) | 2015.10.08 |
[order by CASE]oracle order by 질문입니다 (0) | 2015.10.08 |
Oracle WHERE 절 ORDER BY 절 GROUP BY 절 각종함수 (0) | 2015.10.08 |
[group by]오라클에서 특정 컬럼의 특정단어들로 group by 하는 법좀 알려주세여 (oracle)~ (0) | 2015.10.08 |
[order by]oracle sql문에서 정렬 방식에 임의만든 값을 앞이나 맨뒤로 나오게 하는 쿼리가? (0) | 2015.10.08 |
oracle 요일 보는 법(요일 구하기) (0) | 2015.04.03 |
MSSQL VARCHAR(10) 을 ORACLE TO_CHAR 를 사용할 때 자리수표현 (0) | 2014.09.11 |