Heim >Datenbank >MySQL-Tutorial >Wie konvertiere ich MMTTJJJJ VARCHAR-Zeichenfolgen in DATETIME in SQL Server?
Verarbeitung der Konvertierung von mmttjjj VARCHAR in DATETIME in SQL Server
Das direkte Konvertieren von Zeichenfolgen im MMTTJJJJ-Format in DATETIME in SQL Server führt häufig zu Fehlern. Dies liegt daran, dass die Standardfunktion CONVERT
ein bestimmtes Datumsformat erwartet. Dieser Artikel bietet eine solide Lösung für dieses häufige Problem.
Hier ist eine zuverlässige Methode:
<code class="language-sql">DECLARE @Date VARCHAR(8) SET @Date = '12312009' SELECT CONVERT(DATETIME, RIGHT(@Date, 4) + '-' + LEFT(@Date, 2) + '-' + SUBSTRING(@Date, 3, 2))</code>
Dieser Code funktioniert wie folgt:
RIGHT
extrahiert das Jahr (letzte vier Zeichen).LEFT
extrahiert den Monat (die ersten beiden Zeichen).SUBSTRING
extrahiert den Tag (Zeichen 3 und 4).yyyy-mm-dd
Zeichenfolge zu erstellen.CONVERT
wandelt diese Zeichenfolge in einen DATETIME-Wert um.Diese Technik überwindet die Einschränkungen eines einfachen CONVERT
, indem die Zeichenfolgenkomponenten explizit in der richtigen Reihenfolge für die DATETIME-Interpretation von SQL Server neu angeordnet werden, wodurch Fehler außerhalb des Bereichs effektiv behoben werden. Dies gewährleistet eine genaue und zuverlässige Konvertierung von MMTTJJJJ-Zeichenfolgen in den DATETIME-Datentyp.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich MMTTJJJJ VARCHAR-Zeichenfolgen in DATETIME in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!