Mencipta siri masa yang merangkumi beberapa tahun dalam PostgreSQL boleh mencabar menggunakan aritmetik tarikh standard. Kaedah yang lebih dipercayai memanfaatkan cap masa.
Penyelesaian:
Pertanyaan ini dengan cekap menjana siri masa harian merentas tahun:
<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>
Begini cara ia berfungsi:
::timestamp
. Ini memastikan pengendalian sempadan tahun yang tepat.generate_series
Fungsi: Fungsi generate_series
mencipta jujukan cap masa, bertambah satu hari ('1 hari'::selang).date_trunc('day', dd)
memotong setiap cap waktu ke awal hari dan ::date
menghantar hasil kepada date
jenis data untuk output yang lebih bersih.Pendekatan ini menjamin penjanaan siri masa yang tepat, walaupun apabila berurusan dengan tarikh merentasi tahun yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Siri Masa Tahunan dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!