我在列中有以下值
Q1 2018
Q2 2018
Q3 2018
Q4 2018
feb 2018
mar 2018
Q1 2019
Q2 2019
Q3 2019
jan 2018
sep 2018
dec 2018
jan 2019
feb 2019
mar 2019
我有以上根据某些参数计算的值。对于某些数据,此值随月份一起出现,而对于某些数据,此值随季度一起出现。
当所有值都在同一列上时,有什么方法可以使用 order by 对它们进行排序,这意味着应该对每月值和季度值进行排序。
输出应该像
Q1 2018
Q2 2018
Q3 2018
Q4 2018
Q1 2019
Q2 2019
Q3 2019
jan 2018
feb 2018
mar 2018
sep 2018
dec 2018
jan 2019
feb 2019
mar 2019
我认为这可以满足您的要求:
order by len(col), -- put the quarters first
substr(col, 4), -- order by year
(case when col not like 'Q%'
then to_date(col, 'MON YYYY')
end), -- order months by date
col -- order quarters by quarter
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句