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!