Menentukan tarikh yang berada di antara julat yang ditentukan ialah tugas biasa dalam pengaturcaraan. Dalam PostgreSQL, ini boleh dicapai menggunakan fungsi generate_series.
Dengan generate_series, anda boleh menjana urutan tarikh berdasarkan titik permulaan, titik penamat, dan selang waktu. Selang boleh ditentukan dalam hari, bulan, tahun atau unit masa lain.
Contoh:
Andaikan anda mempunyai keperluan berikut:
Untuk menjana senarai tarikh dalam julat ini, anda boleh menggunakan pertanyaan berikut:
select CURRENT_DATE + i from generate_series(date '2012-06-29'- CURRENT_DATE, date '2012-07-03' - CURRENT_DATE ) i
Pertanyaan ini menjana jujukan tarikh dari 29 Jun 2012 hingga Julai 3, 2012 dengan selang sehari. Hasilnya ialah:
29 june 2012 30 june 2012 1 july 2012 2 july 2012 3 july 2012
Sebagai alternatif, anda boleh memudahkan pertanyaan menggunakan sintaks berikut:
select i::date from generate_series('2012-06-29', '2012-07-03', '1 day'::interval) i
Kedua-dua pertanyaan ini menjana tarikh yang dikehendaki dengan berkesan julat dalam PostgreSQL.
Atas ialah kandungan terperinci Bagaimana untuk Menjana Julat Tarikh dalam PostgreSQL Menggunakan generate_series?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!