F053, „OVERLAPS predicate“


BigQueryDb2 (LUW)DuckDBH2MariaDBMySQLOracle DBPostgreSQLSQL ServerSQLite2007200920112013201520172019202120232025⊘ 3.5.7 - 3.51.0⊘ 2008R2 - 2025✓ 8.3 - 18⚡ 23.4 - 23.26.1d⚡ 11gR1 - 23.0abc⊘ 5.0 - 9.6.0⊘ 5.1 - 12.2.2⊘ 1.4.191 - 2.4.240⊘ 1.0.0 - 1.4.0⚠ 11.1 - 12.1.3c⊘ 9.7 - 10.5⊘ 2.0
  1. ⚡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
  2. ⚡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
  3. Einige Varianten
  4. ⚡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.

BigQuery 2026-02-02Db2 (LUW) 12.1.3DuckDB 1.4.0H2 2.4.240MariaDB 12.2.2MySQL 9.6.0Oracle DB 23.26.1PostgreSQL 18SQL Server 2025SQLite 3.51.0(start,     end)(start,interval)   (…,…)row(…,…)

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).

20 Jahre SQL-Evolution kann man nicht an einem Tag nachholen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS, um sukzessive aufzuholen und modern-sql.com am Radar zu behalten.

Über den Autor

Foto von Markus Winand

Markus Winand gibt auf modern-sql.com Einblick in SQL und zeigt, wie es von verschiedenen Systemen unterstützt wird. Zuvor machte er use-the-index-luke.com, was er noch immer wartet. Markus kann als Trainer, Sprecher und Berater auf winand.at engagiert werden.

Sein Buch kaufen

Titelbild von „SQL Performance Explained“: Eichhörnchen läuft durchs Grass

Die Essenz: SQL-Tuning auf 200 Seiten

Jetzt Kaufen
(Taschenbuch und/oder PDF)

Sein Training

Markus verwandelt veraltetes SQL-92-Wissen in solides und zeitgemäßes SQL-Know-how

Erfahren Sie mehr»

Neuigkeiten Abonnieren

Markus Winands MailinglistenMarkus Winands RSS-FeedMarkus Winand auf LinkedInMarkus Winand auf XINGMarkus Winand auf MastodonMarkus Winand auf Bluesky
Copyright 2015-2026 Markus Winand. Alle Rechte vorbehalten.
Impressum | Kontakt | KEINE GEWÄHR | Handelsmarken | Datenschutz und DSGVO