Méthode de génération de séries temporelles d'intervalles de dates PostgreSQL
Lorsque PostgreSQL traite des données de séries temporelles, il est souvent nécessaire de générer une série de dates entre deux dates données. Une méthode courante consiste à utiliser la fonction generate_series()
.
<code class="language-sql">select date '2004-03-07' + j - i as AllDate from generate_series(0, extract(doy from date '2004-03-07')::int - 1) as i, generate_series(0, extract(doy from date '2004-08-16')::int - 1) as j</code>
Cependant, cette approche rencontre parfois des limites lorsqu'il s'agit de dates qui s'étendent sur des années différentes. Pour résoudre efficacement cette situation, considérez ce qui suit :
<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>
Cette requête génère une plage de dates entre les horodatages donnés, les convertissant dans un format de date reconnu avant de les renvoyer. Il maintient l'exactitude même lorsque deux dates s'étendent sur plusieurs 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!