如何在oracle的字母数字列中使用order by

在我的表中,我的列之一具有如下值

Y-1
Y-2
Y-3
Y-4
Y-5
Y-6
Y-7
Y-8
Y-9
Y-10
Y-11
Y-12
Y-13
Y-14

当我通过这个专栏订购它的工作正常,如果该行的值高达Y-9其他明智的我的结果是错误的如下.

Y-1
Y-10
Y-11
Y-12
Y-13
Y-14
Y-2
Y-3
Y-4
Y-5
Y-6
Y-7
Y-8
Y-9

但我想要输出如下

Y-1
Y-2
Y-3
Y-4
Y-5
Y-6
Y-7
Y-8
Y-9
Y-10
Y-11
Y-12
Y-13
Y-14

如何实现上述结果.我正在使用oracle数据库.任何帮助将不胜感激!!!!!

解决方法

您可以通过操纵列内容并转换为数字来使用订单,例如:

order by substr(col1,1,2),TO_NUMBER(sustr(col1,3,10))

dawei

【声明】:北京站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。