PostgreSQL - 插入从年xxxx到年yyyy的所有周末日期

时间:2011-07-08 13:40:19

标签: postgresql generate-series set-returning-functions

我已经建立了一个假期表,其中包含了从2000年到2050年的所有公共假期。但是我应该把所有的周末日期都放在一起,现在我正试图找到一个方法。有人可以建议吗?我查了一下,有计算工作日数的功能,但我需要在这两年之间插入所有周末。

1 个答案:

答案 0 :(得分:4)

如果8.4 +:

select 
    a::date as Sunday, 
    a::date - 1 as Saturday
from generate_series('2000-01-02'::date, '2050-12-31', '7 days') s(a)
;

否则:

select 
    '2000-01-02'::date + s.a as Sunday, 
    '2000-01-02'::date + s.a - 1 as Saturday
from generate_series(0, '2050-12-31'::date - '2000-01-02'::date, 7) s(a)
;