Samstag, Juli 05, 2014

Default-Werte für Datumsintervallendpunkte

Stew Ashton, der sich in seinem Blog in der Regel mit komplexen SQL-Queries beschäftigt, hält dort ein Plädoyer für den Verzicht auf NULL-Werte bei der Angabe der minimalen und maximalen Werte für Datumsintervalle. Stattdessen spricht er sich für die Verwendung der klassischen Minimal- und Maximalwerte aus, die durch den Oracle Datentyp DATE nahegelegt werden, also den 01.01.4712 B.C. (ich nehme an, das ist Oracles Version von der Erschaffung der Welt) und den 31.12.9999 A.C. Über seine ursprünglich vorgebrachten Argumente für diese Ansicht wurde in den Kommentaren zum Artikel recht intensiv diskutiert - und einige wurden entkräftet, aber der entscheidendste Punkt scheint mir immer noch zutreffend zu sein: komplexe SQL-Queries, die sich auch noch mit den NULL-Fällen für Intervall-Grenzen herumschlagen müssen, werden äußerst hässlich. Deshalb halte ich ein definiertes Maximaldatum insgesamt doch für das kleinere Übel als einen inhaltlich womöglich besser begründbaren NULL-Wert. 

Keine Kommentare:

Kommentar veröffentlichen