(轉)mysql按字段排序 按照字段的數值大小排序,而非 ascii碼排序

參考:http://www.cnblogs.com/codefly-sun/p/5898738.html

 

 

如果是varchar類型, 排序後是這樣的:

就是對mysql數值字符串類型進行排序,在默認情況下使用order by 字段名稱 desc/asc 進行排序的時候,mysql進行的排序規則是按照ASCII碼進行排序的,並不會自動的識別出這些數據是數值

 

,百度了一下,發現對於這種情況,可以採用 

1

2

3

order by 字段名稱+0 desc/asc的形式進行排序(親測有效)

 

 

order by 字段名稱*1 desc/asc的形式進行排序( 親測有效 )

如果varchar中存在這種 1  02  3  04  05  上述操作之後, 依舊 會按照數值大小排序的.

如下:

 

 

請根據自己情況進行更改. 這種其實設計表的結構最好定義成 number類型😙😙😙😙

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章