jus*_*inl 3 mysql alphanumeric
是否可以按以下方式在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,因为这在技术上不是邮政编码前缀.我还想避免让用户输入其他数据来帮助系统正确排序,因为我的用户不是非常精通网络.此外,这些字母数字字符串将无法以正确的顺序输入到数据库中,因为它们可以随时删除和添加.
创建一个将varchar转换为数值的UDF.然后在查询的ORDER BY子句中使用该函数.
基本上你的函数会为每一行分配一个数值,比如A的ASCII值(或者第一个字母是什么)*100 + varchar其余部分的解析数字.
| 归档时间: |
|
| 查看次数: |
1553 次 |
| 最近记录: |