- ⚡Leere Perioden überlappen nicht mit den Start einer anderen Periode.
(DATE'2026-01-07', DATE'2026-01-07') OVERLAPS (DATE'2026-01-07', DATE'2026-01-31')
Der Standard erfordert das Ergebnis true, dieses System liefert jedoch false - ⚡Einzelne
Null-Werte erzeugen Leere Perioden.NOT (DATE'2026-01-03', null) OVERLAPS (DATE'2026-01-07', DATE'2026-01-31')
Der Standard erfordert das Ergebnis unknown, dieses System liefert jedoch true - Einige Varianten
- ⚡Schlägt fehl, wenn einer der Operanden zwei Null-Werte hat.
(null, null) OVERLAPS (DATE'2026-01-07', DATE'2026-01-31')
Der Standard erfordert das Ergebnis unknown, dieses System liefert jedoch einen Fehler
Der Overlaps-Operator prüft, ob zwei Zeitbereiche überlappen. SQL hat zwei syntaktisch ähnliche, aber semantisch sehr unterschiedliche Formen des Overlaps-Operators. Der hier beschriebene Operator verwendet Row-Values zum Abbilden der Zeitbereiche.
Dieser Overlaps-Operator akzeptiert den Anfang und das Ende des Zeitbereiches auch in umgekehrter Reihenfolge (wie between symmetric). Einzelne Null-Werte werden als Ende des Bereichs interpretiert. Danach werden alle Null-Werte als unbekannter Anfang oder Ende interpretiert.
Varianten
Die Zeitbereiche können entweder über zwei Zeitpunkte oder mit einem Zeitpunkt und einem Interval angegeben werden. Da die Operanden Row-Values sind, ist das Schlüsselwort Row vor der Klammer zulässig.
Weiterführende Links
Standard-Funktionen
T461, „Symmetric BETWEEN predicate“
T502, „Period predicates“:
overlaps,contains,precedes,succeedsAuf Applikations-Zeit-Perioden, niemals leer, keine
Null.
Nicht-Standard-Funktionen
&&auf PostgreSQL Range-Typen: Range-Typen behandelnNullals offenes Ende.
Normative Referenzen
F053, „OVERLAPS predicate“ ist in ISO/IEC 9075-2:2023 als optionale Funktion definiert. Dieser Overlaps-Operator erschien erstmals in SQL-92 (intermediate).

