sql >> Databasteknik >  >> RDS >> PostgreSQL

Postgresql får första och sista dagen i alla iso-veckor under ett givet år

Du kan använda generate_series() för att undvika den invecklade CTE- och datumaritmetiken. Här är ett exempel för att komma igång:

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 vill lägga till ett fall under den andra terminen för att ta bort vad som helst under 2017, och det kan skrivas om till ett steg en vecka i taget, men det borde få dig på rätt spår.




  1. mysql min där uttalande

  2. Hur man ställer in standardanvändarlösenordet i PostgreSQL

  3. Talande:Calling Where on a relation

  4. Looping genom Array i PHP återvände från MySQL Query