我正在 Oracle 中尝试一种不同类型的排序。就像我有三列,即日期、开始时间和结束时间,我需要按以下方式对列进行排序。
如果当前时间介于开始时间和结束时间之间,则该行应位于顶部。否则应按正常升序排序。
现在我的查询如下所示
select * from details order by date,start_time
排序时如何考虑当前时间?
最佳答案
我想到的第一个想法:
SELECT *
FROM details
ORDER BY ( CASE WHEN date_column BETWEEN start_time AND end_time THEN 0 ELSE 1 END )
, date_column
, start_time;
关于java - Oracle中根据时间对列进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9357817/