gpt4 book ai didi

sql - 从 Snowflake 中的开始日期和结束日期列创建日期数组

转载 作者:行者123 更新时间:2023-12-05 03:45:30 29 4
gpt4 key购买 nike

我想从我在 Snowflake 中的表格中的两列创建一个日期数组。在下面的示例中,如何添加第三列,其中包含 start_date 和 end_date 之间所有日期的数组?它可以使用 UDF 工作,但我没有这样做的权限。

 select current_date as start_date, dateadd(day, 10, current_date) as end_date

这是我想要的结果: enter image description here

最佳答案

获取此查询并不简单,但它有效:

select init_date, end_date
, array_agg(init_date+x-1) within group (order by x asc)
from date_ranges
join (select x from (select row_number() over(order by 0) x from table(generator(rowcount => 1000))))
where x<=end_date-init_date+1
group by init_date, end_date
;

enter image description here

(我必须加入一系列连续的数字才能得到想要的结果)

您可以使用此设置进行测试:

create or replace temp table date_ranges as
select '2019-12-29'::date init_date, '2020-01-03'::date end_date
union all select '2021-02-26', '2021-03-02'
;

关于sql - 从 Snowflake 中的开始日期和结束日期列创建日期数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65784845/

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