Heim >Datenbank >MySQL-Tutorial >Wie kann ich in MySQL eine Reihe nicht doppelter Datumsangaben generieren, ohne temporäre Tabellen oder Variablen zu verwenden?
Generieren einer Reihe von Datumsangaben (Ansatz ohne Duplikate)
Das Erstellen einer Reihe von Datumsangaben innerhalb eines bestimmten Bereichs ist eine häufige Aufgabe in verschiedene Programmieranwendungen. MySQL bietet mehrere Methoden, um dies zu erreichen.
Eine effiziente Lösung, insbesondere wenn Einschränkungen wie verbotene temporäre Tabellenerstellung und Variableneinstellung auftreten, ist die Verwendung einer Self-Join-Abfrage. Dieser Ansatz generiert eine Liste von Daten innerhalb eines bestimmten Zeitrahmens, wie im folgenden Codeausschnitt gezeigt:
select * from (select adddate('1970-01-01',t4*10000 + t3*1000 + t2*100 + t1*10 + t0) gen_date from (select 0 t0 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 t1 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 t2 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 t3 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 t4 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 gen_date between '2017-01-01' and '2017-12-31'
Diese Abfrage generiert eine Reihe von Daten zwischen „2017-01-01“ und „2017-12“. -31' durch Bearbeiten von Datumswerten mit der Funktion adddate() und verschiedenen Unterabfragen, die Tage, Monate und Jahre darstellen.
Dieser Ansatz bietet eine prägnante und effiziente Methode zum Generieren einer Reihe von Datumsangaben, insbesondere in Situationen, in denen die Erstellung temporärer Tabellen oder die Einstellung von Variablen nicht möglich sind.
Das obige ist der detaillierte Inhalt vonWie kann ich in MySQL eine Reihe nicht doppelter Datumsangaben generieren, ohne temporäre Tabellen oder Variablen zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!