Database

[mysql] SQL order string as number

페이지 정보

본문

I have numbers saved as VARCHAR to a MySQL database. I can not make them INT due to some other depending circumstances.

It is taking them as character not as number while sorting.

In database I have

1 2 3 4 5 6 7 8 9 10...

On my page it shows ordered list like this:

1 10 2 3 4 5 6 7 8 9

How can I make it appear ordered by numbers ascending?



---------------------------------------------------------------------------------


select col from yourtable
order by cast(col as unsigned)

or to force a conversion to number do:

select col from yourtable
order by col * 1

관련자료

등록된 댓글이 없습니다.
Today's proverb
우정에 정력을 쏟아라. 그러면 당신에게 돌아오는 대가는 놀라울 만큼 만족스러울 것이다. 친구들이 당신을 필요로 할 때 당신이 그들에게 도움을 준다면, 당신이 후원과 위안을 얻기 위해 그들을 필요로 할 때 좋은 친구들이 도움을 줄 것이다. 롱펠로우가 말했듯이 친구를 가지려면 친구가 되어라. (어니 젤린스키 "결혼하지 않는 즐거움"中에서)