sql >> Databasteknik >  >> RDS >> PostgreSQL

Få datum för en veckodag inom ett datumintervall

create function f(dr daterange)
returns setof date as $$
    select d::date
    from generate_series(
        lower(dr), upper(dr), interval '1 day'
    ) s (d)
    where
        extract(dow from d) = 1 and
        d::date <@ dr;
    ;
$$ language sql;

select f(daterange('2014-01-01', '2014-01-20'));
     f      
------------
 2014-01-06
 2014-01-13


  1. Hur laddar man upp PHP-bild och infogar sökväg i MySQL?

  2. Fel:ER_WRONG_VALUE_COUNT_ON_ROW:Kolumnantal matchar inte värderäkning på rad 1

  3. Undvik dubbla citattecken i SQL 2005/2008

  4. Konfigurera en `DataSource` för att ansluta till en hanterad Postgres-server på Digital Ocean med SSL/TLS-kryptering