Fehler bei der Konvertierung beim konvertieren von Datum und/oder Zeit von-Zeichen-string-Fehler
Select CONVERT(Date, '13-5-2012')
Wenn ich das über T-SQL-Anweisungen im Management Studio, ich bekomme ich die folgende Fehlermeldung erhalten:
"Fehler bei der Konvertierung beim konvertieren von Datum und/oder Uhrzeit aus der Zeichenkette"
Ist es Weg ich werfen kann, ist, dass der Wert ein gültiges Datum Art erfolgreich? Ich habe diese Werte in einem vom Datentyp nvarchar(255) - Spalte, deren Datentyp den ich ändern will, um eine Datentyp in einer SQL Server-Tabelle, aber ich getroffen haben, dass Fehler und ich möchte zuerst eine Umwandlung in eine Update-Anweisung auf die Tabelle.
InformationsquelleAutor StackTrace | 2012-06-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Angeben, welches Datum-format:
105 bedeutet Italienisch format Datum mit Jahrhundert (JJJJ-mm-JJJJ).
Ref: http://msdn.microsoft.com/en-us/library/ms187928.aspx
InformationsquelleAutor Guffa
Im Allgemeinen, würd ich vermuten normalerweise gibt es Daten, die nicht umgewandelt werden kann in eine Spalte, und würde eine case-Anweisung zu überprüfen ist konvertierbar erste:
Ich glaube
Convert
stützt sich auf die SQL Server date format-Einstellung. Bitte überprüfen Sie Ihre dateformat-Einstellung mitDBCC USEROPTIONS
.Ich vermute, wenn Sie das dateformat um
dmy
werde es verstehen:Wenn es selbst dann nicht funktioniert, Sie nicht finden können, ein Stil, der Ihren Daten entspricht, und, wenn die Daten in ein einheitliches format, es ist bis auf die manuelle string-manipulation, um es zu bauen (tun Sie das nicht wenn Sie Ihr helfen können).
InformationsquelleAutor Bridge
Versuchen, diese....
Verwenden, 'mm-dd-yyyy" - format.
InformationsquelleAutor Tirumudi
KONVERTIEREN wird davon ausgegangen, dass die ursprünglichen Daten darstellen können, ist ein Datum. Eine schlechte Daten-Element kann werfen die gleichen Fehler bei der Konvertierung, die hier erwähnt, ohne Hinweis auf das problem.
Mit ISDATE hat mir geholfen, um die schlechten Daten.
SELECT CONVERT(DATE, CONVERT(CHAR(8), FieldName))
VON DBName
WO ISDATE(FieldName) <> 0
InformationsquelleAutor Anthony Simon Mielniczuk
Müssen Sie geben Sie das Datum-format während der Konvertierung, wird dies den Fehler beheben.
select convert(date, '13-5-2012' ,103)
InformationsquelleAutor Ankita_systematix