数据库
首页 > 数据库> > mysql – 按字母顺序排序的SQL顺序,不包含小于10的数字的前置零

mysql – 按字母顺序排序的SQL顺序,不包含小于10的数字的前置零

作者:互联网

是否可以按以下方式在mySQL中按字母顺序排序:

A1
A2
A3
A5
A10
A11
A20
A23
A24

不幸的是,我收到的订单如下所示.请注意A10之前的任何数字是如何组合在一起的?

A1
A10
A11
A12
A2< A2
A20
A23
A24
A3< A3
A5< A5 注意:
这些字母数字字符串实际上是邮政编码,所以我不能把A01,因为这在技术上不是邮政编码前缀.我还想避免让用户输入其他数据来帮助系统正确排序,因为我的用户不是非常精通网络.此外,这些字母数字字符串将无法以正确的顺序输入到数据库中,因为它们可以随时删除和添加.

解决方法:

如果字符串中的字符串位于一致位置,则可以使用表达式选择字符串的数字部分.然后通过向其添加零将数字字符串强制转换为其整数值.

...
ORDER BY SUBSTR(postalcode,2)+0

标签:alphanumeric,mysql
来源: https://codeday.me/bug/20190726/1547058.html