Heim >Datenbank >MySQL-Tutorial >Wie erkennt man überlappende Datumsbereiche in MySQL?
Bestimmen überlappender Datumsbereiche in MySQL
Um widersprüchliche Datumsbereiche innerhalb einer bestimmten Tabelle zu ermitteln, ziehen Sie eine maßgeschneiderte Abfrage in Betracht, die die folgenden Kriterien verwendet:
WHERE new_start < existing_end AND new_end > existing_start
wo:
Diese Abfrage identifiziert effektiv Datumsbereiche, die sich mit der vorgeschlagenen neuen Sitzung überschneiden , was im Vergleich zur ursprünglichen Abfrage ein verfeinertes Ergebnis liefert.
Hier ist eine aktualisierte Version von Abfrage:
SELECT * FROM session WHERE "2010-01-05" < end_date AND "2010-01-25" > start_date;
Diese Abfrage gibt nur widersprüchliche Sitzungen zurück und lässt nicht überlappende Sitzungen aus:
+----+------------+------------+ | id | start_date | end_date | +----+------------+------------+ | 2 | 2010-01-20 | 2010-01-30 | +----+------------+------------+
Die überarbeitete Abfrage stellt sicher, dass nur überlappende Sitzungen identifiziert werden, was ein genaueres Ergebnis liefert Konflikterkennung.
Das obige ist der detaillierte Inhalt vonWie erkennt man überlappende Datumsbereiche in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!