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

Posted

技术标签:

【中文标题】如何使用间隔 1 分钟在两个日期之间将时间序列数据生成到 Oracle PL/SQL 中的表中?【英文标题】:How to generate timeseries data into table in Oracle PL/SQL between two date using interval 1 minute? 【发布时间】:2018-07-26 12:44:51 【问题描述】:

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

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

int id; 
timestamp time_mon;
double price; 

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

【问题讨论】:

【参考方案1】:

假设您的意思是 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'

【讨论】:

您只需要添加插入部分,刚刚显示。关于 id 和 price,您需要知道需要插入哪些值

以上是关于如何使用间隔 1 分钟在两个日期之间将时间序列数据生成到 Oracle PL/SQL 中的表中?的主要内容,如果未能解决你的问题,请参考以下文章

怎么用excel计算两个日期之间的间隔年限?

使用不同的时间间隔合并并填充Pandas中的两个数据帧

Hivesql计算两个时间戳相差的分钟数

VB计算两个日期时间的间隔

PHP 如何获取两个时间之间的年和月份及间隔天数 PHP两个日期之间的所有日期

使用R中的cut()函数将日期转换为15分钟间隔的结果不可预测