Kaedah penjanaan siri masa selang tarikh PostgreSQL
Apabila PostgreSQL memproses data siri masa, selalunya perlu menjana satu siri tarikh antara dua tarikh tertentu. Kaedah biasa ialah menggunakan fungsi 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>
Walau bagaimanapun, pendekatan ini kadangkala menghadapi batasan apabila berurusan dengan tarikh yang menjangkau tahun yang berbeza. Untuk menyelesaikan situasi ini dengan berkesan, pertimbangkan perkara berikut:
<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>
Pertanyaan ini menjana julat tarikh antara cap masa yang diberikan, menukarkannya kepada format tarikh yang diiktiraf sebelum mengembalikannya. Ia mengekalkan ketepatan walaupun dua tarikh menjangkau beberapa tahun.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Siri Masa dengan Cekap Antara Tarikh dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!