Maison >base de données >tutoriel mysql >Comment générer une plage de dates dans PostgreSQL ?

Comment générer une plage de dates dans PostgreSQL ?

Linda Hamilton
Linda Hamiltonoriginal
2025-01-03 17:32:40875parcourir

How to Generate a Date Range in PostgreSQL?

Générer une plage de dates avec 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn