基于列的一部分(数字)在sql中排序

时间:2013-06-26 12:33:10

标签: sql oracle

我的列的值如下

18 ABC
45 XYZ
1 ABC
83 DEF
22 XYZ
4 ABC

我希望它们在从oracle DB

中提取值时按如下方式排序
1 ABC
4 ABC
18 ABC
22 XYZ
45 XYZ
83 DEF

当我按substr(column,1)使用订单时,它没有按预期显示结果 4 ABC 将在 22 XYZ

之后下降

2 个答案:

答案 0 :(得分:2)

你可以做ff:

order by to_number(substr(column, 1, instr(column, ' ')))

答案 1 :(得分:0)

您是否尝试过类似ORDER BY CAST(substr(column, 2) AS INT)的内容?