大家好!有问题请教!
数据库是oracle,我想对查询结果按照我指定的顺序排列,并不是按照常规的某个字段的升序或降序。
例如,ssx_dm这个字段,是字符串类型,我想按照此字段第3个字符(T,B,D,C...)的顺序排列查询结果。
谢谢大家帮忙,小女子不胜感激!
数据库是oracle,我想对查询结果按照我指定的顺序排列,并不是按照常规的某个字段的升序或降序。
例如,ssx_dm这个字段,是字符串类型,我想按照此字段第3个字符(T,B,D,C...)的顺序排列查询结果。
谢谢大家帮忙,小女子不胜感激!
select * from
(select *,decode(substr(ssx_dm,3,1),'T',1,'B',2,'D',3,'C',4,5) rn
from table
) a order by a.rn
这个可以表示可能不止一个字符,只是以第3个分割来排序
order by translate(substr(ssx_dm,3,1),'TBDC','1234')
order by translate(substr(ssx_dm,3,1),'TBDC','1234')