MySQL 의 필드 type 변환함수 CAST

text 유형 필드에 들어있는 값들을 숫자값 기준으로 정렬하고자 한다면

반드시 해당 필드를 CAST함수를 이용해서 변환해야 한다.

다음 2개의 쿼리를 비교해 보자

* 쿼리 : select * from prices order by price;
* 결과 :
1420
1590
1990
220
2390
2660
280
2990
3420
380
3990
4270
450
570
5700
760
850
이건 원하는 결과가 아니다. ㅠㅠ…. (애초에 테이블을 만들 때 필드를 숫자 형태로 만들었어야 한다…)

CAST함수를 사용한다면,
* 쿼리 : select * from prices order by CAST(price AS UNSIGNED);
* 결과 :
220
280
380
450
570
760
850
1060
1420
1590
1990
2390
2660
2990
3420
3990
4270
5700

제대로 나온다.

더 자세한 API는 여기에 http://dev.mysql.com/doc/refman/5.0/en/cast-functions.html