DataBase/Oracle

[Oracle Database] 정렬시 변환 방법. (Order by Cast)

mongyang 2013. 2. 13. 14:01

order by를 사용할 때 기본적으로.


select * from 테이블 명 where 조건절 order by 컬럼명;

이와 같은 방식으로 쿼리를 주로 사용하게 된다. 


이렇게 사용하게 되면 컬럼의 값으로 줄을 선 결과를 얻게 되는데.


때때로 이 해당 컬럼명의 값이 숫자임에도 불구하고 문자열로 들어가 있는

경우가 있다. 


즉 1 이 아니라 "1"이 들어가 있다는 것인데. 


이 경우는 문자열을 숫자로 변환해서 불러오면 된다. 

select * from 테이블 명 where 조건절 order by cast(컬럼명 as 변환 형식) 

이렇게 해줄 수 있다.

예를 들면. 

select * from 테이블 명 where 조건절 order by cast(컬럼명 as number)  라고 

하면 number 형식으로 변환되어 정렬이 된다.