Heim >Datenbank >MySQL-Tutorial >Wie erstelle ich einen Datumsbereich in MySQL mithilfe einer SELECT-Abfrage?

Wie erstelle ich einen Datumsbereich in MySQL mithilfe einer SELECT-Abfrage?

Susan Sarandon
Susan SarandonOriginal
2025-01-19 01:26:08639Durchsuche

How to Generate a Date Range in MySQL Using a SELECT Query?

Verwenden Sie die MySQL SELECT-Abfrage, um einen Datumsbereich zu generieren

Viele Anwendungen benötigen eine Reihe von Daten innerhalb eines bestimmten Datumsbereichs. Dies wird durch die MySQL-SELECT-Abfrage erreicht.

Abfragekonstruktion

Um eine Liste von Daten zwischen zwei angegebenen Daten zu erstellen, können Sie die folgende Abfrage verwenden:

<code class="language-sql">SELECT * FROM
(SELECT ADDDATE('1970-01-01', t4.i * 10000 + t3.i * 1000 + t2.i * 100 + t1.i * 10 + t0.i) AS selected_date FROM
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t0,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t3,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t4) v
WHERE selected_date BETWEEN '2012-02-10' AND '2012-02-15';</code>

Diese Abfrage generiert einen Datumsbereich von „10.02.2012“ bis „15.02.2012“, wobei jedes Datum als einzelne Zeile im Ergebnissatz angezeigt wird.

Beschreibung

Eine verschachtelte SELECT-Anweisung in der Hauptabfrage wird verwendet, um eine Liste von Datumsangaben zu erstellen. Jede SELECT-Anweisung generiert eine Folge einstelliger Zahlen von 0 bis 9. Diese Sequenzen werden dann mit dem Operator „ “ zu einer vollständigen Datumszeichenfolge kombiniert. Mit der Funktion „ADDDATE“ werden diese Zahlen zum 01.01.1970 addiert, um den gewünschten Datumsbereich zu generieren.

Das obige ist der detaillierte Inhalt vonWie erstelle ich einen Datumsbereich in MySQL mithilfe einer SELECT-Abfrage?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn