Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Siri Masa Tahunan dalam PostgreSQL?

Bagaimana untuk Menjana Siri Masa Tahunan dalam PostgreSQL?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-21 16:46:12863semak imbas

How to Generate a Yearly Time Series in PostgreSQL?

Menjana Siri Masa Tahunan dalam PostgreSQL: Pendekatan Teguh

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:

  • Penukaran Cap Masa: Tarikh mula dan tamat ('2007-02-01' dan '2008-04-01') secara eksplisit dihantar ke cap masa menggunakan ::timestamp. Ini memastikan pengendalian sempadan tahun yang tepat.
  • generate_series Fungsi: Fungsi generate_series mencipta jujukan cap masa, bertambah satu hari ('1 hari'::selang).
  • Pemangkasan Tarikh dan Penghantaran: 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!

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