Die Community zu .NET und Classic VB.
Menü

FAQ 0005: Wie kann ich ein Datum an eine Datenbank übergeben?

 von 

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\#") & ") ...

Listing 1: Datum formatiert ausgeben

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) & "')) ...

Listing 2: Datum formatiert ausgeben

... WHERE (Datumsfeld >= CONVERT(DATETIME, '" & CStr(Now) & "', 104)) ...

Listing 3: Datum formatiert ausgeben (alternativ)

 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.