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
Libérer: 2025-01-03 17:32:40
original
892 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

Une syntaxe alternative, plus concise, est la suivante :

select i::date from generate_series('2012-06-29', 
  '2012-07-03', '1 day'::interval) i
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal