Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menjana Senarai Tarikh Antara Dua Tarikh dalam MySQL dan SQL Server?

Bagaimana untuk Menjana Senarai Tarikh Antara Dua Tarikh dalam MySQL dan SQL Server?

Barbara Streisand
Lepaskan: 2025-01-22 04:42:08
asal
303 orang telah melayarinya

How to Generate a List of Dates Between Two Dates in MySQL and SQL Server?

Jana senarai tarikh antara dua tarikh

MySQL menyediakan fungsi standard untuk mendapatkan semula senarai tarikh dalam julat tarikh yang ditentukan. Langkah-langkahnya adalah seperti berikut:

1. Buat prosedur tersimpan:

Buat prosedur tersimpan untuk menjana julat tarikh yang diperlukan. make_intervals Prosedur tersimpan boleh mencipta pelbagai jenis selang, termasuk hari, minit dan saat.

2. Kod proses:

<code class="language-sql">CREATE PROCEDURE make_intervals(
    startdate timestamp, 
    enddate timestamp, 
    intval integer, 
    unitval varchar(10)
)
BEGIN
    -- ... (存储过程代码,请参考答案中的完整代码)
END;</code>
Salin selepas log masuk

3. Contoh penjanaan selang:

Untuk menjana senarai tarikh antara 2009-01-01 dan 2009-01-10, laksanakan arahan berikut:

<code class="language-sql">call make_intervals('2009-01-01 00:00:00', '2009-01-10 00:00:00', 1, 'DAY');</code>
Salin selepas log masuk

4. Berhubung dengan data anda:

Sertai julat tarikh yang dijana (terletak dalam time_intervals jadual sementara) dengan jadual data anda untuk mengagregat data mengikut keperluan.

Contoh senario data:

Begitu juga, anda boleh mencipta fungsi untuk SQL Server. Fungsi ini menghasilkan hasil yang serupa dengan yang dinyatakan dalam soalan:

<code class="language-sql">CREATE FUNCTION GetDateList(@StartDate DATETIME, @EndDate DATETIME, @Interval INT, @Unit VARCHAR(10))
RETURNS TABLE
AS
BEGIN
    DECLARE @ThisDate DATETIME = @StartDate;
    WHILE @ThisDate <= @EndDate
    -- ... (函数代码,请参考答案中的完整代码)
END;</code>
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menjana Senarai Tarikh Antara Dua Tarikh dalam MySQL dan SQL Server?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan