如何在 Oracle SQL 中解决这个问题?
1.我有Event_ID (例如 ev001)的列Event_Min_DateTime(例如 01/06/2017 7:30:00)和Event_Max_datetime(例如 03/06/2017 18:30:00)。因此,计算列Event_minutes可以创建为 ( Event_Max_datetime - Event_Min_DateTime )*24*60。
- 我还有 Daily_Date 的列Daily_Window_Start(可变时间戳值)和Daily_Window_End(可变时间戳值)(每天依次)。因此,计算列Daily_Window_minutes可以计算为 ( Daily_Window_End - Daily_Window_Start )*24*60。请注意,Daily_Window_minutes将始终 <=1440。
现在,如何计算列Daily_portion_within( Event_minutes 在Daily_Window_minutes 内的部分)和Daily_portion_outside(Event_minutes 在Daily_Window_minutes之外 但在同一个Daily_Date内的部分)?