Heim > Datenbank > MySQL-Tutorial > Wie generiere ich mit SQL alle Daten innerhalb mehrerer Datumsbereiche?

Wie generiere ich mit SQL alle Daten innerhalb mehrerer Datumsbereiche?

Mary-Kate Olsen
Freigeben: 2025-01-04 22:32:40
Original
142 Leute haben es durchsucht

How to Generate All Dates Within Multiple Date Ranges Using SQL?

Daten zwischen mehreren Datumsbereichen generieren

Beim Umgang mit mehreren Datumsbereichen kann es eine Herausforderung sein, alle Daten innerhalb dieser Bereiche zu generieren. Lassen Sie uns eine effiziente Lösung erkunden, die dieses Szenario bewältigt.

Die bereitgestellte Eingabe besteht aus zwei Datumsbereichen:

ID  START_DATE      END_DATE 
101 April, 01 2013  April, 10 2013 
102   May, 10 2013    May, 12 2013
Nach dem Login kopieren

Unser Ziel ist es, eine Ausgabetabelle zu generieren, die alle Daten innerhalb dieser Bereiche auflistet:

ID  Dates
101 April, 01 2013 
101 April, 02 2013  
101 April, 03 2013  
101 April, 04 2013  
101 April, 05 2013  
101 April, 06 2013  
101 April, 07 2013  
101 April, 08 2013  
101 April, 09 2013  
101 April, 10 2013  
102   May, 10 2013  
102   May, 11 2013  
102   May, 12 2013
Nach dem Login kopieren

Um dies zu erreichen, können wir die folgende SQL-Abfrage verwenden:

select 
  A.ID, 
  A.START_DATE+delta dt
from 
  t_dates A, 
  (
     select level-1 as delta 
     from dual 
     connect by level-1 <= (
       select max(end_date - start_date) from t_dates
     )
  )
where A.START_DATE+delta <= A.end_date
order by 1, 2
Nach dem Login kopieren

Die Abfrage generiert alles Mögliche Datumsunterschiede innerhalb des maximalen Datumsbereichs und addiert sie dann zu jedem Startdatum, um die gewünschte Ausgabe zu erzeugen.

Das obige ist der detaillierte Inhalt vonWie generiere ich mit SQL alle Daten innerhalb mehrerer Datumsbereiche?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage