我的 MySQL 数据库中的查询的 SQL 排序结果出现问题。我需要一种方法来对混合了字母和多位数字的发票编号进行排序。
格式为:${optional-prefix}${number part}${optional-postfix},它们都存储在 Varchar(32) 中。更改数字格式不是一个选项,因为这些值是从多个系统导入的。
我要排序的内容:(未排序)
- IoCustTextNoNumber
- IO-700
- IO39ABC
- IO-137-kk
- IO-037-kk
- 201-ib
- 201
- 38-kk
- 036
- 12
- 11-KE
- IO-37-kk
- 00001342
- IO-36-kk
- 11-KEk
- 13
- 035
- 37-kk
- 200
- IO-701
预期结果:(已排序)
- 11-KE
- 11-KEk
- 12
- 13
- 035
- 036
- 37-kk
- 38-kk
- 200
- 201
- 201-ib
- 00001342
- IO-36-kk
- IO-037-kk
- IO-37-kk
- IO-137-kk
- IO-700
- IO-701
- IO39ABC
- IoCustTextNoNumber
任何人都可以帮我解决问题吗?