【发布时间】:2022-06-28 22:35:39
【问题描述】:
我正在学习 SQL,并且刚刚开始将它用于业务。客户有Oracle系统的数据库。
作为一个查询的响应,我有一个如下表,
/* Defined as START_END_DATE_TABLE*/
Members | Start | End
-------------+------------+-----------
John | 2020-01-07 | 2021-06-10
Smith | 2021-01-12 | 2021-02-24
Brown | 2021-01-24 | 2022-05-01
(假设“开始”和“结束”列中的元素类型已经转换为 DATE)
使用上面的表,我想用如下查询方法(Oracle SQL)获取新表,
Members | DATETIME
-------------+------------
John | 2020-01-07
John | 2020-01-08
... | ...
John | 2021-06-09
John | 2021-06-10
Smith | 2021-01-12
Smith | 2021-01-13
... | ...
Smith | 2021-02-23
Smith | 2021-02-24
Brown | 2021-01-24
Brown | 2021-01-25
... | ...
Brown | 2022-04-30
Brown | 2022-05-01
如何使用 Oracle SQL 获取上表?
我看到了一个与SQL Server相关的类似问题,但我无法完全理解。 Create a list with dates which are in between start and end dates
如果你能告诉我简单的指南来解决我的问题,我非常感激。
【问题讨论】:
-
我希望 Oracle 有
generate_series()。