mysql数值字符串类型的按照数值进行排序

今天遇到一个问题,就是对mysql数值字符串类型进行排序,在默认情况下使用order by 字段名称 desc/asc 进行排序的时候,mysql进行的排序规则是按照ASCII码进行排序的,并不会自动的识别出这些数据是数值,百度了一下,发现对于这种情况,可以采用 

     order by 字段名称+0 desc/asc的形式进行排序(亲测有效)

     order by 字段名称*1 desc/asc的形式进行排序( 没有进行测试 )

  ----这样mysql会将数值字符串类型的数据当作数值进行处理,但是存在效率问题,不推荐使用varchar/char类型来存储数值,这样会带来不不必要的问题

posted @ 2016-09-23 09:27  codefly-sun  阅读(23705)  评论(0编辑  收藏  举报