如何通过SQL将时间戳从15分钟拆分为3部分,如每5分钟



我有一个很容易正常处理的数据库。此数据集具有start_time、end_time、modellnumber和roomnumber。所以我做了一个SQL,它向我显示了一个表,每个模型在一个房间里的时间。但我需要的是一张表格,它每5分钟向我显示一个新的专栏,无论模特是否在这个房间里。为了更好地理解:

第一个SQL:模型室开始时间结束时间

  • 217 5 31.10.2022 10:05:00 31.10.2022 10:17:00

第二个SQL:模型室持续时间_时间

  • 217 5 00:12:00

需要的SQL:模型室温

  • 217 5 31.10.2022 10:05:00
  • 217 5 2022年10月31日10:10:00
  • 217 5 31.10.2022.10:15:00

我用trunk编写了一些不同的函数,但都不起作用。也许有人对我写下的例子有一个想法,如何得到我想要的结果。请友善一点,我正在着手做这件事。。

这是我获取持续时间的第二个SQL:

选择(to_timestamp(end_time(-to_timestamp(start_time((作为duration_time,modell,room来自对象

这里有一个可以根据需要进行建模的示例。如果你还有其他问题,请告诉我。

with cal (col1, st, et) as 
(
select col1, start_time as st, end_time as et  from t
union all  select col1, st + interval '5' minute, et from cal where st <= et-interval '5' minute
)
select   *
from     cal 
order by col1, st
ET31-OCT-22 10.17.000000
COL1ST
131-OCT-22 10.05.0000000
131-OCT-22 10.10.0000000000031-OCT-22 10.17.00.00000000
131-OCT-22 10.15.0000000000031-OCT-22-10.17.00.00000
231-OCT-22 10.17.00.00000000000031-OCT-22-10.30.00000000
231-OCT-22 10.22.0000000000031-OCT-22-10.30.00000000
231-OCT-22 10.27.00.00000000000031-OCT-22-10.30.00000000

最新更新