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

관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
위대한 일을 성취하는 사람은 위대한 고통을 느끼는 사람이다. 고통의 해결은 고통의 감지에서 시작되고, 위대한 고통은 그것을 해결함으로써 인간의 자부심을 드높일 수 있는 위대한 문제이기 때문이다. 따라서 우리는 역설적으로 이렇게 말할 수 있다. 위대한 고통 때문에 아파하는 사람은 축복을 받았다고…. (김광수의 《둥근 사각형의 꿈》중에서)