FAQ 0005: Wie kann ich ein Datum an eine Datenbank übergeben?
von Helge Rex
Frage
Ich möchte ein Datum in meiner Datenbank speichern. Die Datenbank meldet aber immer einen Fehler.
Wie kann ich ein Datum an eine Datenbank übergeben?
Microsoft Access
Access erwartet das Datum im amerikanischen Format:
... WHERE (Datumsfeld = " & Format$(Date, "\#mm\/dd\/yyyy\#") & ") ...
Microsoft SQL Server und MSDE
Der SQL Server (und dessen Abkömmling MSDE) erwartet das Datum ebenfalls im amerikanischen Format.
Der SQL Server hat Access aber etwas voraus: er kann das Datum selbst in das korrekte Format überführen:
... WHERE (Datumsfeld = CONVERT(DATETIME, '" & CStr(Date) & "')) ...
... WHERE (Datumsfeld >= CONVERT(DATETIME, '" & CStr(Now) & "', 104)) ...
Neu Die Zahl 104 ist eine Konstante, die der Funktion sagt, wie das Datum ausgegeben werden soll. Weitere mögliche Konstanten sind in der Online-Hilfe zu Cast und Convert zu finden.
Neu Laut Florian Sauer ist das Format yyyymmdd (oder yyyymmdd hh:nn:ss für Daten mit Zeit) besser zur Abfrage geeignet, weil das Format von den Einstellungen des aktuellen Benutzers unabhängig ist und somit immer funktioniert.
SAS
Wer eine SAS-Datenbank mit einem Datum füttern möchte, muß dieses folgendermaßen formatieren: 'ddmmmyyyy'd
Der Tag muß zweistellig (z.B. "01" oder "28") sein. Der Monat ist die englische Abkürzung des Monatsnamens ("Mar" für März, "Oct" für Oktober). Das Jahr ist vierstellig anzugeben. Die Datumsangabe ist in einfache Hochkommata, gefolgt von einem d, zu verpacken.
Ihre Meinung
Falls Sie Fragen zu dieser FAQ haben, Ihre Erfahrung mit anderen Nutzern austauschen möchten oder auf eine Ergänzung hinweisen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.