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>
Voici comment cela fonctionne :
::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).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!