gpt4 book ai didi

sql - 在两个日期之间生成日期

转载 作者:行者123 更新时间:2023-12-04 14:02:28 25 4
gpt4 key购买 nike

我需要生成两个给定日期之间的所有日期。只要只有一个日期范围,这就可以正常工作。但是,如果我有多个日期范围,则此解决方案不起作用。我在这里以及在 asktom 上进行了搜索,但找不到相关的指针/解决方案。

我使用 all_objects 和 CONNECT BY ROWNUM 尝试了这两种解决方案,但没有运气。这是问题陈述:sqlfiddle

输入

ID  START_DATE      END_DATE 
101 April, 01 2013 April, 10 2013
102 May, 10 2013 May, 12 2013

输出
ID  Dates
101 April, 01 2013
101 April, 02 2013
101 April, 03 2013
101 April, 04 2013
101 April, 05 2013
101 April, 06 2013
101 April, 07 2013
101 April, 08 2013
101 April, 09 2013
101 April, 10 2013
102 May, 10 2013
102 May, 11 2013
102 May, 12 2013

最佳答案

select 
A.ID,
A.START_DATE+delta dt
from
t_dates A,
(
select level-1 as delta
from dual
connect by level-1 <= (
select max(end_date - start_date) from t_dates
)
)
where A.START_DATE+delta <= A.end_date
order by 1, 2

关于sql - 在两个日期之间生成日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16207543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com