日期:2014-05-17  浏览次数:20809 次

请问一个结果的排序问题
在oracle里SQL语句用order   by   streamid   desc排序出来的结果为
streamid
RP9875
RP8567
RP2364
RP10021
RP10016

如果我想结果为
streamid
RP10021
RP10016
RP9875
RP8567
RP2364

请问高手们有没有解决办法可以得到这个结果

------解决方案--------------------
如果前面两个固定为 'RP '的话,可以如下考虑

SELECT STREAMID
FROM TABLENAME
ORDER BY TO_NUMBER(REPLACE(STREAMID, 'RP ', ' ')) DESC;