von Markus Winand.

Automatisches Umschreiben von Datums- und Zeit-⁠Bereichen


Der folgende Chart zeigt, welche Systeme Where-Klausel-Ausdrücke, die auf die Jahreskomponente einer Date- oder Timestamp-Spalte zugreifen, in Bereichsbedingungen wie ts >= DATE'2024-01-01' AND ts < DATE'2025-01-01' umschreiben.

Db2 (LUW) 12.1.2aaMariaDB 12.3.2MySQL 9.7.0Oracle DB 23.26.2PostgreSQL 18SQL Server 2025extract(year from …)year(…)datepart(year …)
  1. aWird bedingungslos umgeschrieben – selbst wenn es nur einen passenden funktions-basierten Index gibt

Die gelben Häkchen bedeuten, dass immer umgeschrieben wird – auch wenn ein bestehender funktions-basierter Index1 dadurch nicht mehr genutzt werden kann.

Dieses Umschreiben ist generell anwendbar, sobald auf Basis der signifikantesten Spalten gefiltert wird. Das sind insbesondere auch das Datum aus einer Timestamp- und die Stunde aus einer Time-Spalte.

Db2 (LUW) 12.1.2aaMariaDB 12.3.2MySQL 9.7.0Oracle DB 23.26.2PostgreSQL 18SQL Server 2025cast(… as date)date(…)extract(hour from …)hour(…)datepart(hour, …)
  1. aWird bedingungslos umgeschrieben – selbst wenn es nur einen passenden funktions-basierten Index gibt

Ich empfehle, solche Abfangen selbst mit dem „inklusive Untergrenze, exklusive Obergrenze“-Rezept umzusetzen.

Achtung

Aufgrund der aktuellen Nutzung von Web-Inhalten zum Training von KI-Modellen werde ich künftig weniger auf meinen Webseiten (inkl. RSS) veröffentlichen. Die Mailing-Listen erhalten weiterhin die vollständigen Artikel. Bei diesem Artikel deutlich mehr Text mit Hintergründen. Vermutlich führe ich früher oder später auch eine Paywall ein – was ich eigentlich nie wollte. Wenn es so weit ist, werden Mail-Abonnenten bevorzugt behandelt werden. Abonniere hier, solange es noch gratis ist.

Du kannst nicht alles an einem Tag lernen. Abonniere den Newsletter via E-Mail, Bluesky oder RSS um sukzessive aufzuholen. Und sieh dir auch modern-sql.com an.

Ü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»

Fußnoten

  1. 0

    Z. B. Personen finden, die morgen Geburtstag haben oder ein Filter nach Wochentag.

  2. 1

    Egal ob direkt auf dem Ausdruck oder über eine generierte Spalte.

  3. 2

    Der FBI könnte die Spalte ts natürlich zusätzlich enthalten – was für eine Platzverschwendung.

Neuigkeiten Abonnieren

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