Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Senarai Tarikh dalam Julat Tertentu dalam PostgreSQL?

Bagaimana untuk Menjana Senarai Tarikh dalam Julat Tertentu dalam PostgreSQL?

DDD
DDDasal
2024-12-26 00:02:10625semak imbas

How to Generate a Date List within a Specific Range in PostgreSQL?

Mendapatkan Senarai Tarikh dalam Julat dalam PostgreSQL

Dalam PostgreSQL, mendapatkan semula senarai hari antara dua tarikh tertentu boleh dicapai dengan mudah menggunakan gabungan fungsi CURRENT_DATE dan fungsi generate_series(). Kaedah ini memberikan fleksibiliti dalam mentakrifkan julat dan selang antara tarikh.

Fungsi CURRENT_DATE mengembalikan tarikh sistem semasa, manakala fungsi generate_series() menjana urutan tarikh berdasarkan parameter yang disediakan.

Contoh:

Pertimbangkan perkara berikut senario:

  • Tarikh mula: 29 Jun 2012
  • Tarikh tamat: 3 Julai 2012

Untuk mendapatkan semula senarai hari antara dua tarikh 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

Output akan be:

29 june 2012
30 june 2012
1 july 2012
2 july 2012
3 july 2012

Sebagai alternatif, pertanyaan yang lebih ringkas boleh digunakan:

select i::date from generate_series('2012-06-29',
  '2012-07-03', '1 day'::interval) i

Pertanyaan ini secara eksplisit menghantar nilai i kepada jenis data tarikh, memastikan bahawa output mengandungi tarikh sahaja.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Senarai Tarikh dalam Julat Tertentu dalam PostgreSQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn