【问题标题】:Add date to query添加日期查询
【发布时间】:2021-07-23 05:43:12
【问题描述】:

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

  • 23-07-2021 00:05:00
  • 23-07-2021 00:10:00
  • 23-07-2021 00:15:00
  • 23-07-2021 00:20:00 以 5 分钟为间隔以此类推。

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

【问题讨论】:

  • 开始和结束什么时候?您如何向查询提供这些信息?
  • @mathguy 从 2021 年 6 月 1 日开始,到 Current_date + 1 结束

标签: sql oracle datetime


【解决方案1】:

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

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 分钟步长。
  • 按级别连接

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

【讨论】:

  • 这只是创建一个临时表。我想将这些值插入到新表中。并且该值应该直到 current_date +1。 @ekochergin
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-03-09
  • 2011-12-18
  • 2020-11-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-10-12
相关资源
最近更新 更多