我試圖插入date在每一個領域7 days一年之間2021以及2023
這對我來說不是將其插入手動幾次。我在堆疊中找不到任何相關的帖子,所以我決定問一下,因為我真的需要這個任務。
感謝您的回答或任何可能幫助我度過難關的參考資料。
編輯:我不好,它是 amazon redshift
uj5u.com熱心網友回復:
declare @startDate date
declare @endDate date
set @startDate='2021-03-01' -- YYYY-MM-DD format
set @endDate='2023-04-01'
;with all_date as (
select @startDate Dates
union all
select DATEADD(day, 7, Dates)
from all_date
where Dates < @endDate
)
INSERT INTO [Table_name]([column])
select Dates from all_date
你可以像這樣使用...
uj5u.com熱心網友回復:
感謝蒂姆比格萊森的回答,但不幸的是我說我正在使用MySQL而不是Amazon Redshift他洗掉了他的回答。那是我的錯誤。我調整了他的答案,并能夠生成我需要的正確日期。
select * from
(select cast(DATEADD(day, 7*(t4*10000 t3*1000 t2*100 t1*10 t0), '2022-01-03') as date) wk_start from
(select 0 t0 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
(select 0 t1 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
(select 0 t2 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
(select 0 t3 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
(select 0 t4 union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) v
where wk_start < '2024-01-03'
order by wk_start
我添加cast只是為了洗掉hours,min,secs其格式。這樣我就可以將結果插入到我的表中
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/346771.html
下一篇:Postgres-平均計算
