Erstellen Sie eine Liste mit Daten zwischen zwei Daten
MySQL bietet Standardfunktionen zum Abrufen einer Liste von Daten innerhalb eines bestimmten Datumsbereichs. Die Schritte sind wie folgt:
1. Gespeicherte Prozedur erstellen:
Erstellen Sie eine gespeicherte Prozedur, um den erforderlichen Datumsbereich zu generieren. make_intervals
Gespeicherte Prozeduren können verschiedene Arten von Intervallen erstellen, einschließlich Tage, Minuten und Sekunden.
2. Prozesscode:
<code class="language-sql">CREATE PROCEDURE make_intervals( startdate timestamp, enddate timestamp, intval integer, unitval varchar(10) ) BEGIN -- ... (存储过程代码,请参考答案中的完整代码) END;</code>
3. Beispielintervallgenerierung:
Um eine Liste der Daten zwischen dem 01.01.2009 und dem 10.01.2009 zu erstellen, führen Sie den folgenden Befehl aus:
<code class="language-sql">call make_intervals('2009-01-01 00:00:00', '2009-01-10 00:00:00', 1, 'DAY');</code>
4. Verbinden Sie sich mit Ihren Daten:
Verknüpfen Sie den generierten Datumsbereich (in der time_intervals
temporären Tabelle) mit Ihrer Datentabelle, um die Daten nach Bedarf zu aggregieren.
Beispieldatenszenario:
Ähnlich können Sie eine Funktion für SQL Server erstellen. Diese Funktion führt zu ähnlichen Ergebnissen wie in der Frage:
<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>
Das obige ist der detaillierte Inhalt vonWie erstelle ich eine Liste von Daten zwischen zwei Daten in MySQL und SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!