Ich habe Beispieldaten wie folgt aus:Konvertierungsprobleme mit VARCHAR zu DATETIME-
SELECT CONVERT(CHAR(19), CONVERT(DATE, '11/10/1997', 3), 120);
wenn ich ausführen dieses erhalte ich Fehler wie folgt aus:
Msg 241, Ebene 16, Status 1, Zeile 1
Konvertierung fehlgeschlagen beim Konvertieren von Datum und/oder Uhrzeit von Zeichen Zeichenfolge.
So dann habe ich entfernt erstes 2 Zeichen des Jahres 1997
SELECT CONVERT(CHAR(19), CONVERT(DATE, '11/10/97', 3), 120);
Und es gab wie dieses Set Ergebnis:
Date
1997-10-11
So wurde es von TT/MM/JJ-Format konvertiert zu YYYY-MM-DD
Gut Aber warum hat es 1997 genommen, wenn ich 17 gebe, wird es als 2017 geben. Wenn ich giv e 37 es wird 2037 geben und wenn ich 67 gebe und es gibt 1967.
Und schließlich, wie kann TT/MM/JJJJ bis JJJJ-MM-DD Format
denken Sie an einen SQL-Datentyp DATE als keine tatsächliche Format DD/MM/YY oder YYYY/MM/DD mit - denn das Format ist nur verwendet, etwas, das es Ihnen als Zeichenfolge angezeigt werden soll. Das Jahr-Rätsel ist aufgrund von "Zoning" einfach zu entscheiden, dass 97 eher 1997 als 1897 oder 2097 sein wird (gerechtfertigt? Sie entscheiden) Ich denke, Sie müssen einen anderen Wert als 120 – Cato
Konfigurieren Sie die zweistellige Cutoff Server-Konfigurationsoption] (https://msdn.microsoft.com/en-gb/library/ms191004.aspx) –