首页 新闻 会员 周边

关于sql查询数字和字母的结果排序问题

0
[已解决问题] 解决于 2018-02-02 14:09

现在显示的结果是:10,11,12,13,13A,20,21,22A,25,3A,5,6,7,8,9,...

我希望的结果是:按数字大小排序,这个字段是 varchar类型的(String)

JackWuhu的主页 JackWuhu | 菜鸟二级 | 园豆:211
提问于:2018-01-31 18:56
< >
分享
最佳答案
0

你得说明下数据库版本,还有字符串结构规律。一般来说没有现成的方法,过于复杂的话建议还是用程序处理,或者用函数或存储过程处理。

奖励园豆:5
nicky0227 | 小虾三级 |园豆:1069 | 2018-01-31 19:23

还是在java代码里搞定的

JackWuhu | 园豆:211 (菜鸟二级) | 2018-02-02 14:09
其他回答(3)
0

你是字符串类型。并且值里还有非数字值。但你要以数字顺序排序?

不讽刺啦.你建个新的数字字段.把要排序的具体值处理出来.

吴瑞祥 | 园豆:29449 (高人七级) | 2018-01-31 22:49
0

转类型再排序。

或者不转类型,格式化成等长的 字符串 再排序。

花飘水流兮 | 园豆:13560 (专家六级) | 2018-02-01 09:09
0

这种情况,可以自己写个数据库引擎。

当然如果你没钱的话,最简单的方法是把这些字符串变成类似这样的

10,11,12,13,13A, 20, 21,22A, 25, 03A, 05, 06,07,08,09,

然后你啥也不用做,排序就是你要的结果了。

爱编程的大叔 | 园豆:30839 (高人七级) | 2018-02-01 10:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册