码迷,mamicode.com
首页 > 数据库 > 详细

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

时间:2020-01-08 19:15:32      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:技术   span   mysql   字符串类   img   百度   div   字符串   inf   

技术图片

 

 

很明显,我写的sql是希望按照这三个字段进行升序排列,查看之后发现scene_no是varchar类型,第一次遇到这个问题我很不解,就算是字符串类型为什么要分开排序呢?这样不就等于把“10”分成“1”、“0”进行排序的吗,wtk!?这么神奇吗?
百度了一下字符串类型是如何进行排序的,看了一些答案自己尝试了一下果然OK! 因为mysql进行的排序规则是按照ASCII码进行排序的,并不会自动的识别出这些数据是数值,sql改为
order by 字段名称+0 desc/asc的形式进行排序 即可。这样mysql会将数值字符串类型的数据当作数值进行处理,但是存在效率问题,不推荐使用varchar/char类型来存储数值,这样会带来不不必要的问题,仅供大家参考!下图是修改过的排序 

 

 

技术图片

 

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

标签:技术   span   mysql   字符串类   img   百度   div   字符串   inf   

原文地址:https://www.cnblogs.com/mr-wuxiansheng/p/12168126.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!