Maison > base de données > tutoriel mysql > Comment générer une série chronologique entre des années non consécutives dans PostgreSQL ?

Comment générer une série chronologique entre des années non consécutives dans PostgreSQL ?

Linda Hamilton
Libérer: 2025-01-21 16:44:11
original
328 Les gens l'ont consulté

How to Generate a Time Series Between Non-Consecutive Years in PostgreSQL?

Générer une série chronologique sur des années non consécutives dans PostgreSQL

Générer une série chronologique complète entre deux dates dans PostgreSQL nécessite une attention particulière, en particulier lorsqu'il s'agit de dates s'étalant sur plusieurs années. Les méthodes courantes utilisant generate_series avec extract(doy) peuvent produire des résultats inexacts dans de tels scénarios.

Une approche plus robuste

Une solution supérieure exploite la fonction generate_series de PostgreSQL en conjonction avec date_trunc et interval. Cette technique génère de manière fiable des séries chronologiques sur n'importe quelle plage de dates, quelle que soit l'année.

La requête suivante illustre cette méthode améliorée :

<code class="language-sql">SELECT date_trunc('day', dd)::date
FROM generate_series('2007-02-01'::timestamp, '2008-04-01'::timestamp, '1 day'::interval) dd;</code>
Copier après la connexion

Voici une répartition :

  • generate_series('2007-02-01'::timestamp, '2008-04-01'::timestamp, '1 day'::interval) : Cela génère une séquence d'horodatages, incrémentés d'un jour, entre les dates de début et de fin spécifiées.
  • date_trunc('day', dd) : Cette fonction tronque les horodatages au début de chaque journée, supprimant ainsi la composante temporelle.
  • ::date : cela convertit les horodatages résultants en type de données date pour une sortie plus propre.

Cette approche raffinée offre une méthode précise et fiable pour créer des séries chronologiques sur des années non consécutives 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!

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