sql >> Database teknologi >  >> RDS >> PostgreSQL

Postgresql får første og sidste dag i alle iso-uger i et givet år

Du kan bruge generate_series() for at undgå den indviklede CTE og dato-aritmetik. Her er et eksempel for at komme i gang:

select d, d + interval '6 days'
from generate_series('2016-01-01'::date, '2016-12-31'::date, '1 day'::interval) d
where date_trunc('week', d) = d

Du vil gerne tilføje en sag i anden periode for at fjerne alt i 2017, og den kunne omskrives til et trin en uge ad gangen, men det burde få dig på rette vej.




  1. kan couchdb lave loops

  2. opdater tabelkolonne efter indsættelse af ny post ved hjælp af MySQL-udløsere

  3. SQL:Du har en fejl i din SQL-syntaks; tjek manualen, der svarer til din MySQL-serverversion, for den rigtige syntaks, der skal bruges

  4. Mysql-indekset virker ikke