关于排序问题,请教(80分)

  • 主题发起人 主题发起人 墨剑
  • 开始时间 开始时间

墨剑

Unregistered / Unconfirmed
GUEST, unregistred user!
需要在客户端把查询出来的数据排序,代号字段是*-*的字符串格式,比如
1-2
10-1
1-1
2-1
11-5
12-1
需要按“-”号前面的数字和后面的数字排序,前面的相同的就比较后面的,应该排列为
1-1
1-2
2-1
10-1
11-5
12-7
请问,该如何做?
如果在sql语句中使用order by to_number(substr(DH,1,instr(DH,'-'))),to_number(substr(DH,instr(DH,'-'),3)),则查询速度暴慢,且ORACLE8i又不能建立基于函数的索引。
所以我想这种排序应该放在客户端Tclientdataset来进行。
请指点1、2
 
的确不容易实现,有意思
如果是我宁愿更换数据库
 
在表中再加两个字段,用程序把‘-’前后值分别付从给它们。
然后排序。
 
这个方法我也想过,但是这需要改动SQL语句,对于我这样SQL语句繁多的程序来说,改动量很大。且对于三层,同时需要更改应用层和客户端,不可取
 
后退
顶部