我有一个很容易正常处理的数据库。此数据集具有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
COL1 | ST | ET||
---|---|---|---|
1 | 31-OCT-22 10.05.0000000 | 31-OCT-22 10.17.000000||
1 | 31-OCT-22 10.10.00000000000 | 31-OCT-22 10.17.00.00000000 | |
1 | 31-OCT-22 10.15.00000000000 | 31-OCT-22-10.17.00.00000 | |
2 | 31-OCT-22 10.17.00.000000000000 | 31-OCT-22-10.30.00000000 | |
2 | 31-OCT-22 10.22.00000000000 | 31-OCT-22-10.30.00000000 | |
2 | 31-OCT-22 10.27.00.000000000000 | 31-OCT-22-10.30.00000000 |