MS SQL-Server 6.5 und 7.0 Zeit-Datumsformat

Hallo zusammen,

Ich möchte einen Zeitstempel in eine MS SQL-Server Tabelle schreiben. Wenn ich ein Insert auf ein Date/Time Feld machen, akzeptiert SQL-Server nur Strings. Z.B. ‚14.12.2000 20:34:44‘.

Mein Problem ist jetzt aber, daß ich nicht davon ausgehen kann, daß ich immer mit einem „deutschen“ Server spreche. Wenn ich das gleiche Insert auf einen Ami-Server loslasse, geht das in die Hose, weil der die 14 als Monat interpretieren will und es halt nur 12 Monate im Jahr gibt.

Gibt es ein Standard-Datumformat, daß jeder MS SQL-Server auf der Welt richtig interpretiert???

Oder kann ich dem SQL-Server beibringen sowas wie Integerzahlen als Zeitwert zu fressen, wie es in der C Programmierung üblich ist???

Viele Grüße
Albert

ODBC unterstützt drei unabhängige Formate für Datum/Zeit, nämlich:

Datum: { d ‚yyyy-mm-dd‘ }
Zeit: { t ‚hh:mm:ss‘ }
Timestamp: { ts ‚yyyy-mm-dd hh:mm:ss‘ }

Grüße, Robert

Zeit-Datumsformat -funkioniert leider nicht :frowning:(
Hallo,

so ganz hat das mit dem angegebenen Format doch nicht geklappt. Wenn ich

CString kommando = „insert into meine_tabelle (weitergabe_datum) values(‚2000-10-20 14:12:55‘)“; //20.Okt. 2000
db.ExecuteSQL(kommando);

in mein C++ Programm schreibe, bekomme ich folgende ODBC Exception:

{„Umwandlung von CHAR in DATETIME führte zu einem DATETIME-Wert außerhalb des gültigen Bereichs.“}

Das liegt offensichtlich daran, das er die 20 als Monat interpretiert. Was mache ich falsch???

Viele Grüße
Albert

CString kommando = „insert into meine_tabelle
(weitergabe_datum) values(‚2000-10-20 14:12:55‘)“;

Die geschwungenen Klammern haben dazugehört, also:

INSERT INTO meine_tabelle ( weitergabe_datum ) VALUES ( { ts ‚2000-10-20 14:12:55‘ } )

Grüße, Robert