va ici une autre question SQL sur les dates ...Fractionnement un intervalle en semaines Postgres
Je construis une application en utilisant PHP et calendrier Postgres qui afficherait des événements couvrant jours, semaines ou mois peut-être. Chaque événement a une date de début et une date de fin, et les sélectionner par plage n'est pas un problème; Cependant, il serait utile pour moi que Postgres divise les événements de plusieurs semaines au premier jour de chaque semaine. On m'a dit qu'il peut être fait en utilisant GROUP BY
et EXTRACT
, mais je ne suis pas assez bon avec SQL pour comprendre comment.
La question est: cela peut-il être fait, et à quoi ressemblerait la requête précise? Actuellement, j'utilise SELECT * FROM events WHERE (range) OVERLAPS (range)
; et ensuite faire le fractionnement en PHP, mais ce n'est clairement pas optimal.
Merci, je ne connaissais pas 'generate_series'. J'utilise actuellement le 8.3, donc je suppose que je devrais passer en 8.4 pour vraiment utiliser la fonction, car appliquer l'exemple 8.3 aux dates semble un peu difficile. – slikts
Ce n'est pas si difficile si vous combinez generate_series avec un intervalle de '1 jour'; Il y a un bon exemple de ce genre de choses sur une base mensuelle à http://www.mail-archive.com/[email protected]/msg134699.htmlbv –