Maison >base de données >tutoriel mysql >Comment générer une plage de dates dans PostgreSQL ?
Problème :
Vous devez récupérer une liste de dates entre deux dates spécifiées , inclus, à partir d'une base de données PostgreSQL. Par exemple, étant donné la date de début le 29 juin 2012 et la date de fin le 3 juillet 2012, le résultat souhaité serait :
29 June 2012 30 June 2012 1 July 2012 2 July 2012 3 July 2012
Solution :
Dans PostgreSQL, vous pouvez générer efficacement une séquence de dates dans une plage à l'aide de la fonction generate_series(). La requête suivante fournira le résultat souhaité :
select CURRENT_DATE + i from generate_series(date '2012-06-29'- CURRENT_DATE, date '2012-07-03' - CURRENT_DATE ) i
Une syntaxe alternative, plus concise, est la suivante :
select i::date from generate_series('2012-06-29', '2012-07-03', '1 day'::interval) i
Les deux requêtes généreront la plage de dates spécifiée et vous pourrez ajuster l'intervalle. paramètre selon les besoins pour générer des plages basées sur différentes unités de temps, telles que des heures, des semaines ou des mois.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!