Generieren Sie eine Liste von Daten zwischen zwei Daten in MySQL
MySQL bietet leistungsstarke Funktionen, die effizient eine Datumssequenz innerhalb eines bestimmten Datumsbereichs generieren können, um alle Daten innerhalb des Bereichs abzurufen.
Gespeicherte MySQL-Prozedur
Sie können eine gespeicherte Prozedur verwenden, um eine temporäre Tabelle mit dem Namen time_intervals
zu erstellen, die die gewünschte Datumssequenz enthält:
CREATE PROCEDURE make_intervals(startdate timestamp, enddate timestamp, intval integer, unitval varchar(10)) BEGIN -- ... (存储过程代码,与上面答案中提供的代码相同) END;
Nutzungsbeispiele
Um eine Liste mit Daten für jeden Tag zwischen dem 01.01.2009 und dem 13.01.2009 zu erstellen, können Sie den folgenden Befehl verwenden:
CALL make_intervals('2009-01-01', '2009-01-13', 1, 'DAY'); SELECT * FROM time_intervals;
Ergebnisse ausgeben
<code>interval_start interval_end ------------------- ------------------- 2009-01-01 00:00:00 2009-01-01 23:59:59 2009-01-02 00:00:00 2009-01-02 23:59:59 2009-01-03 00:00:00 2009-01-03 23:59:59 2009-01-04 00:00:00 2009-01-04 23:59:59 2009-01-05 00:00:00 2009-01-05 23:59:59 2009-01-06 00:00:00 2009-01-06 23:59:59 2009-01-07 00:00:00 2009-01-07 23:59:59 2009-01-08 00:00:00 2009-01-08 23:59:59 2009-01-09 00:00:00 2009-01-09 23:59:59 2009-01-10 00:00:00 2009-01-10 23:59:59 2009-01-11 00:00:00 2009-01-11 23:59:59 2009-01-12 00:00:00 2009-01-12 23:59:59 2009-01-13 00:00:00 2009-01-13 23:59:59</code>
Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL eine Liste von Daten zwischen zwei angegebenen Daten erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!