Generieren eines Datumsbereichs mit SQL
Um einen Datumsbereich für die SQL-Ausführung zu generieren, besteht eine häufige Anforderung darin, über einen bestimmten Zeitraum zu iterieren . In diesem Szenario besteht das Ziel darin, eine Liste der letzten 365 Tage zu erstellen.
Herkömmlicherweise ist die Erstellung einer Liste von Tagen mithilfe von Zahlen (z. B. 0 bis 364) eine praktikable Lösung. Durch die Verwendung eines effizienteren Ansatzes sind jedoch keine großen Tabellen oder zusätzlichen Vorgänge erforderlich.
Die optimale SQL-Abfrage zum Generieren eines Datumsbereichs für die letzten 365 Tage ist:
SELECT TRUNC (SYSDATE - ROWNUM) dt FROM DUAL CONNECT BY ROWNUM < 366
Diese Abfrage nutzt die TRUNC-Funktion, um die Daten für jede Zeile zu bestimmen, beginnend mit dem aktuellen Datum (SYSDATE) und subtrahiert den inkrementellen ROWNUM-Wert. Die CONNECT BY-Klausel führt die Abfrage iterativ für so viele Zeilen aus, wie in der Bedingung angegeben sind (ROWNUM < 366 in diesem Fall).
Das Ergebnis ist eine Liste von Daten, die die letzten 365 Tage darstellen. Diese Liste kann in Unterabfragen oder Joins verwendet werden, um Daten für den angegebenen Zeitraum abzurufen.
Das obige ist der detaillierte Inhalt vonWie generiert man effizient einen 365-Tage-Datumsbereich in SQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!