首页 > 解决方案 > 如何使用间隔 1 分钟在两个日期之间将时间序列数据生成到 Oracle PL/SQL 中的表中?

问题描述

我是这个话题的新手。在我的设置中,Oracle 12c 标准版数据库和 PL/SQL Developer。

我有一个具有以下结构的表:

int id; 
timestamp time_mon;
double price; 

我需要将数据插入到一个表中,该表生成的时间段为 02.01.2018 00:00 - 02.01.2019 00:00,间隔为 5 分钟。我无法应付这项任务。请帮助我并显示 SQL 代码示例。

标签: oracleplsqloracle-sqldeveloperoracle12cplsqldeveloper

解决方案


假设您的意思是 02.01.2018 = 1 月 2 日,这可能是一种方式:

insert into yourTable(id, time_mon, price)
select ??? as id,                                                      -- to be completed
       date '2018-01-02' + interval '5' minute * (level -1) as time_mon,
       ??? as price                                                    -- to be completed
from dual
connect by date '2018-01-02' + interval '5' minute * (level -1) <= date '2019-01-02'

推荐阅读