Heim >Datenbank >MySQL-Tutorial >Wie kann ich in MySQL eine Reihe nicht doppelter Datumsangaben generieren, ohne temporäre Tabellen oder Variablen zu verwenden?

Wie kann ich in MySQL eine Reihe nicht doppelter Datumsangaben generieren, ohne temporäre Tabellen oder Variablen zu verwenden?

Susan Sarandon
Susan SarandonOriginal
2024-12-08 10:21:11995Durchsuche

How Can I Generate a Series of Non-Duplicate Dates in MySQL Without Using Temporary Tables or Variables?

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!

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