(转)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类型😙😙😙😙

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