在我的表的一列中,我有一个如下所示的值
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 数据库。任何帮助将不胜感激!!!!!
假设数据在表中t
有一个柱子col
结构是一个字母字符串,后跟破折号,后跟数字,并且字母和数字始终不为 NULL,则:
select col from t
order by substr(col, 1, instr(col, '-')), to_number(substr(col, instr(col, '-')+1))
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)