Oracle—日期差异—按列值



我有下表,

阶段初始阶段初始阶段
ID 开始日期
56 21年6月7日03.13.44490000
77 2008年6月21日06.28.14.0000000
77 08-JUN-21 07.28.14.0000000 中间阶段
77 09-JUN-21 06.28.14.0000000 最终阶段

您可以在条件中使用MIN[IMUM]聚合,考虑到Final_StageEXTRACT()函数在阶段之间按字母顺序排列在顶部,以便将间隔日转换为第二个整数,如

SELECT ID, 
DECODE( MIN(stage), 'Final_Stage', 
EXTRACT(DAY FROM MIN( CASE WHEN stage = 'Final_Stage' THEN start_date END ) -
MIN( CASE WHEN stage = 'Initial_Stage' THEN start_date END) ),0)
AS "Start_to_Final_Stage_Days"                               
FROM t
GROUP BY ID 
ORDER BY ID;
IDStart_to_Final_Stage_Days
560
771

最新更新