首页 > 解决方案 > 添加日期查询

问题描述

我想将时间序列添加到自动生成的数据库表中。假设列值应该是

我如何在 Oracle 数据库中执行此操作?

标签: sqloracledatetime

解决方案


您可以使用分层查询递归地生成这样的数据

select to_date('23-07-2021 00:00:00', 'dd-mm-yyyy hh24:mi:ss') + level / 24 / 60 * 5 
  from dual 
connect by level <= 1000

在哪里

  • to_date('23-07-2021 00:00:00', 'dd-mm-yyyy hh24:mi:ss') - 是开始日期
  • level / 24 / 60 * 5 - 5 分钟步长。
  • 按级别连接 <= 1000 - 虚拟限制除了在某个点停止递归之外没有其他原因

UPD。来自 OP 的附加要求:“这只是创建了一个临时表。我想将这些值插入到一个新表中。该值应该是直到 current_date + 1”

create table ek_test as 
select to_date('23-07-2021 00:00:00', 'dd-mm-yyyy hh24:mi:ss') + level / 24 / 60 * 5 date_col
from dual 
connect by to_date('23-07-2021 00:00:00', 'dd-mm-yyyy hh24:mi:ss') + level / 24 / 60 * 5 < sysdate + 1

推荐阅读