Maison > base de données > tutoriel mysql > Comment générer une série chronologique annuelle dans PostgreSQL ?

Comment générer une série chronologique annuelle dans PostgreSQL ?

Mary-Kate Olsen
Libérer: 2025-01-21 16:46:12
original
860 Les gens l'ont consulté

How to Generate a Yearly Time Series in PostgreSQL?

Générer une série chronologique annuelle dans PostgreSQL : une approche robuste

Créer une série chronologique s'étendant sur plusieurs années dans PostgreSQL peut s'avérer difficile en utilisant l'arithmétique de date standard. Une méthode plus fiable exploite les horodatages.

La solution :

Cette requête génère efficacement une série chronologique quotidienne sur plusieurs années :

<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 comment cela fonctionne :

  • Conversion d'horodatage : Les dates de début et de fin (« 2007-02-01 » et « 2008-04-01 ») sont explicitement converties en horodatages à l'aide de ::timestamp. Cela garantit une gestion précise des limites des années.
  • generate_series Fonction : La fonction generate_series crée une séquence d'horodatages, incrémentée d'un jour ("1 jour"::intervalle).
  • Troncation et conversion de date : date_trunc('day', dd) tronque chaque horodatage au début de la journée et ::date convertit le résultat en un type de données date pour une sortie plus propre.

Cette approche garantit une génération de séries chronologiques précises, même lorsqu'il s'agit de dates sur différentes années.

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