오늘 MS-SQL 2005 에서 데이터를 정렬해서 가져오는 부분에 관한 코딩을 하던 중 이상하게 계속 정렬이 제대로 되지 않아서 DB에서 관련 테이블의 열속성을 보니 헙! 숫자인줄 알았던 것이 문자로 되어 있더군요. ㅡㅡㅋ
헙. 문제 해결을 위해 여기 저기 방법을 찾던 중 TO_NUMBER()이란 함수를 찾았는데 이 함수는 MS-SQL용 함수가 아니더라구요. ㅡㅡ;;;
그래서 다시 찾은 함수가 CONVERT() 함수랍니다.
사용법은 http://technet.microsoft.com/ko-kr/library/ms187928.aspx 여기 가면 잘 설명되어 있답니다.
그중에서 제가 사용한 부분은 설명 아래에 있는 예 중에서
-- Use CONVERT.
USE AdventureWorks;
GO
SELECT SUBSTRING(Name, 1, 30) AS ProductName, ListPrice
FROM Production.Product
WHERE CONVERT(int, ListPrice) LIKE '3%';
GO
USE AdventureWorks;
GO
SELECT SUBSTRING(Name, 1, 30) AS ProductName, ListPrice
FROM Production.Product
WHERE CONVERT(int, ListPrice) LIKE '3%';
GO
이것과 유사했습니다.
WHERE CONVERT(int, ListPrice) LIKE '3%';
대신에 ORDER BY CONVERT(int, ListPrice) DESC;
혹시나 저와 같은 문제에 봉착했을 경우 유용하게 쓰시기 바랍니다. ^^