MudGuard: Meldung 242, Konvertierung eines varchar-Datentyps in einen datetime-Datentyp liegt der Wert außerhalb des gültigen Bereichs.

Beitrag lesen

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