Maison >base de données >tutoriel mysql >Comment générer une plage de dates dans PostgreSQL à l'aide de generate_series ?

Comment générer une plage de dates dans PostgreSQL à l'aide de generate_series ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-29 21:27:17836parcourir

How to Generate a Date Range in PostgreSQL Using generate_series?

Générer une plage de dates dans PostgreSQL

Déterminer les dates comprises entre une plage spécifiée est une tâche courante en programmation. Dans PostgreSQL, cela peut être réalisé à l'aide de la fonction generate_series.

Avec generate_series, vous pouvez générer une séquence de dates basée sur un point de départ, un point d'arrivée, et un intervalle. L'intervalle peut être spécifié en jours, mois, années ou autres unités de temps.

Exemple :

Supposons que vous ayez les exigences suivantes :

  • Date de début : 29 juin 2012
  • Date de fin : 3 juillet 2012

Pour générer la liste des dates comprises dans cette plage, vous pouvez utiliser la requête suivante :

select CURRENT_DATE + i 
from generate_series(date '2012-06-29'- CURRENT_DATE, 
     date '2012-07-03' - CURRENT_DATE ) i

Cette requête génère une séquence de dates du 29 juin 2012 à juillet 3, 2012 avec un intervalle d'un jour. Le résultat sera :

29 june 2012
30 june 2012 
1 july 2012 
2 july 2012 
3 july 2012

Vous pouvez également simplifier la requête en utilisant la syntaxe suivante :

select i::date from generate_series('2012-06-29', 
  '2012-07-03', '1 day'::interval) i

Ces deux requêtes génèrent efficacement la date souhaitée plage dans PostgreSQL.

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