我試圖生成個月,從今天到1名單,與此代碼如何獲取從今天到一月的月份列表?
select now() - (interval '1' month * generate_series(0,7))
我需要設置列數,所以我怎樣才能得到一個月的不成立的列數,如果今天所有的列表是十一月?
我試圖生成個月,從今天到1名單,與此代碼如何獲取從今天到一月的月份列表?
select now() - (interval '1' month * generate_series(0,7))
我需要設置列數,所以我怎樣才能得到一個月的不成立的列數,如果今天所有的列表是十一月?
我想你想:
select *
from generate_series(date_trunc('year', now()), date_trunc('month', now()),
interval '1 month') g(mon);
如果你想從今天的日期的日子會落後:
select *
from generate_series(now(), date_trunc('year', now()),
interval '-1 month') g(mon);
但是,你要想想你會想這樣做,如果今天什麼例如,8月31日,這個月是二月。
我如何得到今天的日期,我嘗試在最後添加date_trunc日,但它給了我錯誤 – PinballWizard
with
__start as(
select
date_trunc('month', current_timestamp)::date as start_month -- Starts from this month
--(date_trunc('month', current_timestamp) + '1 month'::interval)::date as start_month -- Starts from next month
),
__end as(
select
start_month,
(start_month + ((13 - extract(month from start_month))::text || ' months')::interval)::date as end_month -- Includes January in results
-- (start_month + ((12 - extract(month from start_month))::text || ' months')::interval)::date as end_month -- Does not include January
from
__start
)
select
generate_series(start_month, end_month, '1 month'::interval)::date as intervening_month
from
__end
現在一月一月本身的類型轉換之間每個月都要
date
將輸出電流一個月,我已經包括其被註釋掉排除當月,並排除一月
替代品我不明白,你是否也可以粘貼預期的輸出?對於那些試圖回答的人來說會更容易。 – Jeffrey04