mysql自动排序为啥10在1后面不在9后面

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql自动排序为啥10在1后面不在9后面相关的知识,希望对你有一定的参考价值。

如果排序的字段属于字符型的那么就会出现题主提问中的情况,因为数据库引擎是按照对字符串的排序规则实施排序的(从字符串左边第一个字符开始往后逐位比较的,例如“1”<"10,"10"<"2",“10"<"3",..."10"<"9"等)。
解办法,可以将该排序字段的数据类型改为数字,如果无法改为数字的话,则可以将字符类型转换为数字类型进行排序。
参考技术A 如果排序的字段属于字符型的那么就会出现题主提问中的情况,因为数据库引擎是按照对字符串的排序规则实施排序的(从字符串左边第一个字符开始往后逐位比较的,例如“1”<"10,"10"<"2",“10"<"3",..."10"<"9"等)。
解办法,可以将该排序字段的数据类型改为数字,如果无法改为数字的话,则可以将字符类型转换为数字类型进行排序。
参考技术B 数据格式问题,文本格式排序会出现这类

以上是关于mysql自动排序为啥10在1后面不在9后面的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Django 不在 Varnish 代理后面生成 CSRF 或会话 Cookie?

为啥我不能直接使用不在函数后面的另一个表中的列?

为啥微信编辑时鼠标选中一个字,而且打字时会自动删除后面的字?

WORD文档中生成目录后为啥后面的图片跑到前面来把目录给隔断了,要怎么处理?

nginx 后面的 Grafana 6.7 auth 代理,用于自动 UI 登录

java自动转型