Rumah >pangkalan data >tutorial mysql >Bagaimana untuk Menjana Senarai Tarikh Antara Dua Tarikh dalam MySQL dan 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>
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>
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>
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!