Hi,
In einer SQL Server DB bzw. Tabelle gibt es in einer Spalte DATUM_BEGINN schon Einträge wie: 2017-09-18 14:30:38.000 Wenn ich nun aber mit SSMS einen Insert versuche, kommt immer diese Meldung:
Bei der Konvertierung eines varchar-Datentyps in einen datetime-Datentyp liegt der Wert außerhalb des gültigen Bereichs.
INSERT INTO [TESTDB] ([DATUM_BEGINN]) VALUES ('2017-11-16 08:39:05')
Was ist daran falsch bzw. warum lässt der SQL Server via SSMS dies so nicht zu?
Du verläßt Dich darauf, daß das default-Format für den datetime-Datentyp zu Deinem Datums-String paßt. Üblicherweise haben DBMS Funktionen zur Konvertierung von String zu DateTime, z.B. to_date(datumsstring, formatstring) in Oracle …
Nutze die entsprechende Funktion.
Evtl. wird das 2017-11-16 als year-day-month interpretiert, da paßt die 16 nicht so ganz.
Eine Webanwendung mit einem PHP Script macht auch diese INSERTS und hier klappt es.
Evtl. weil dort das default-Format für date-strings anders gesetzt ist/wird.
cu,
Andreas a/k/a MudGuard