oracle 能否按自定义顺序排序
发布网友
发布时间:2022-04-07 23:48
我来回答
共5个回答
热心网友
时间:2022-04-08 01:17
呵呵,这个题目有意思。
直接排啊。
order by ppmc desc|asc
摘了段:
47. 中文是如何排序的?
Oracle9i之前,中文是按照二进制编码进行排序的。
在oracle9i中新增了按照拼音、部首、笔画排序功能。设置NLS_SORT值
SCHINESE_RADICAL_M 按照部首(第一顺序)、笔划(第二顺序)排序
SCHINESE_STROKE_M 按照笔划(第一顺序)、部首(第二顺序)排序
SCHINESE_PINYIN_M 按照拼音排序
热心网友
时间:2022-04-08 02:35
如果只是排序用
order by +case when 就行了
或用 DECODE
select * from t1 order by case when wh='2' then 0 else 1 end asc,wh asc来自:求助得到的回答
热心网友
时间:2022-04-08 04:10
可以通过增加伪列的方法结合CASE实现:
比如,你只是想 2 号输出在顶行,其他行仍按顺序输出的话,可以这样:
select case wh
when 2 then 0
else wh
end
as vwh
from your_tab order by vwh;
热心网友
时间:2022-04-08 06:01
select '2' v,1 o from al
union all
select '1' v,2 o from al
union all
select '3' v,3 o from al
union all
select '4' v,4 o from al
连接后再按o排序即可。
热心网友
时间:2022-04-08 08:09
要是如此排序,再加一字段标识之