今天遇到一个问题,就是对mysql数值字符串类型进行排序,在默认情况下使用order by 字段名称 desc/asc 进行排序的时候,mysql进行的排序规则是按照ASCII码进行排序的,并不会自动的识别出这些数据是数值,百度了一下,发现对于这种情况,可以采用
|
1 2 3 |
|
----这样mysql会将数值字符串类型的数据当作数值进行处理,但是存在效率问题,不推荐使用varchar/char类型来存储数值,这样会带来不不必要的问题
本文解决了一个MySQL中数值字符串类型的排序问题。默认情况下,使用ORDER BY字段名称进行排序时,MySQL会按照ASCII码排序而非数值大小。文章提供了一种解决方案:通过在ORDER BY后面加上'+0'或'*1'强制将其作为数值处理。
今天遇到一个问题,就是对mysql数值字符串类型进行排序,在默认情况下使用order by 字段名称 desc/asc 进行排序的时候,mysql进行的排序规则是按照ASCII码进行排序的,并不会自动的识别出这些数据是数值,百度了一下,发现对于这种情况,可以采用
|
1 2 3 |
|
----这样mysql会将数值字符串类型的数据当作数值进行处理,但是存在效率问题,不推荐使用varchar/char类型来存储数值,这样会带来不不必要的问题
884
2939
3323
2万+

被折叠的 条评论
为什么被折叠?