![]() |
Datenbank: firebird • Version: 2.1 • Zugriff über: zeos
Datum 0 abfragen
Hallo zusammen,
kann ich im sql-string ein date-feld auf datum 0 abfragen. in dem entsprechenden feld steht ja '30.12.1899'. Oder muss ich expizit nach diesem 30.12.1899-datum abfragen? Danke gruss KHH |
AW: Datum 0 abfragen
30.12.1899 = 0 (wenn man es als Integer "Tage seit ..." interpretiert, siehe
![]() aber warum nicht besser NULL verwenden? |
AW: Datum 0 abfragen
Zitat:
Deshalb steht nicht mehr NULL, sondern eben das Datum 30.12.1899 im Feld. |
AW: Datum 0 abfragen
Dann ist die Routine falsch implementiert, es sei denn es ist absolut sicher, daß das Datum 30.12.1899 nie nie nie niemals nicht vorkommen darf. Kurz: Ein leeres Datum muss NULL sein, nicht 0. ;)
Sherlock |
AW: Datum 0 abfragen
Das sehe ich auch so. Aber so wie es momentan ist könnte man doch einfach auf < 01.01.1900 abfragen, das sollte eigentlich auch mit Rundungsungenauigkeiten klarkommen. Schön ist trotzdem was anderes ;)
|
AW: Datum 0 abfragen
Zitat:
Ihr habt ja Recht, ich werds dahingehend ändern dass NULL drin steht ;-) |
AW: Datum 0 abfragen
Null ist aber ein ziemlich lästiger "Wert" - Ich vermeide Nulls, wo es geht.
Eine der besonderen Heimtücken: Man kann in einer Query den Wert Null zwar als Parameter an SQL übergeben, eine Where-Klausel, in der ein solcher Parameter NULL ist, funktioniert aber dann nicht mehr. Die Bedingung wird immer zu NULL ausgewertet und dann als false interpretiert, die Negation der Bedingung ebenso. |
AW: Datum 0 abfragen
Null ist ein besonderer Wert und macht auch Sinn. Er bedeutet, dass das Feld nicht gesetzt ist.
|
AW: Datum 0 abfragen
Es wird etwas OT, aber es ist doch schon richtig, dass NULL in Where-Klauseln nerven.
Es wäre m.E. sinnvoll wenn die SQL-Datenbanken NULL-Felder in Where-Klauseln standardmäig als "0" oder "" behandeln würden. Das würde SQL-Abfragen sicher häufig vereinfachen. select * from table where field = 0 würde dann reichen statt
SQL-Code:
select * from table where (field = 0) or (field is null)
|
AW: Datum 0 abfragen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz