[英]find the date based on interval
以下是我的查詢。
DECLARE startdate:='12-04-2019', interval =1 OR 3
SELECT date(d) as dt,0 as flag
FROM generate_series(date '2019-04-01', date '2020-03-31', interval '1 day') d
ORDER BY date(d)
例如:如果間隔為 1 個月,則標志將在記錄下方更新為 1,rest 為 0
date flag
01-04-2019 0
. 0
. 0
12-05-2019 1
. 0
. 0
12-06-2019 1
. 0
. 0
12-07-2019 1
.. 0
31-04-2020 0
如果間隔為 3,則標志將在季度更新為 1
date flag
01-04-2019 0
. 0
. 0
12-07-2019 1
. 0
. 0
12-10-2019 1
. 0
. 0
12-01-2020 1
. 0
31-04-2020 0
我真的很難得到結果。
我不確定declare
的用途。 這是一個編程塊嗎?
在任何情況下,您都可以將interval
乘以一個常數。 所以:
SELECT d as dt, 0 as flag
FROM generate_series(date '2019-04-01',
date '2020-03-31',
4 * interval '1 month'
) d
ORDER BY d
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.