是否可以按以下方式在 mySQL 中按字母顺序排序:
A1
A2
A3
A5
A10
A11
A20
A23
A24
不幸的是,我收到的订单如下所示。请注意 A10 之前的任何数字如何没有组合在一起?
A1
A10
A11
A12
A2
A20
A23
A24
A3 A5
笔记:
这些字母数字字符串实际上是邮政编码,因此我不能输入 A01,因为从技术上讲,这不是邮政编码前缀。我还想避免让用户输入其他数据来帮助系统对其进行正确排序,因为我的用户不太精通网络。此外,这些字母数字字符串将无法以正确的顺序输入数据库,因为它们可以随时删除和添加。
创建一个将 varchar 转换为数值的 UDF。然后在查询的 ORDER BY 子句中使用该函数。
基本上,您的函数将为每一行分配一个数值,例如 A 的 ASCII 值(或第一个字母是什么)* 100 + varchar 其余部分的已解析数字。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)