Konvertieren von MMTTJJJJ Varchar in Datum/Uhrzeit in SQL Server
Benutzer von SQL Server-Datenbanken stehen häufig vor der Herausforderung, Varchar-Zeichenfolgen, die Datumsangaben darstellen (im MMTTJJJJ-Format), in den Datentyp „Datum/Uhrzeit“ zu konvertieren. Eine direkte Konvertierung mit CONVERT
schlägt häufig aufgrund von Werten außerhalb des Bereichs fehl. Dieser Leitfaden bietet eine zuverlässige Lösung.
Der Prozess umfasst die folgenden wichtigen Schritte:
String-Vorbereitung: Deklarieren Sie zunächst eine Variable (z. B. @Date
) vom Typ char(8)
und weisen Sie ihr Ihren MMTTJJJJ-String zu. Dadurch wird eine einheitliche Saitenlänge gewährleistet.
String-Manipulation: Verwenden Sie String-Funktionen (LEFT
, RIGHT
, SUBSTRING
), um die String-Komponenten in ein yyyymmdd
-Format umzuordnen, das SQL Server problemlos versteht. Extrahieren Sie die Jahres-, Monats- und Tagesabschnitte einzeln und verketten Sie sie in der richtigen Reihenfolge.
Konvertierung: Abschließend verwenden Sie die Funktion CONVERT
, um die neu angeordnete Zeichenfolge in einen datetime
-Datentyp umzuwandeln.
Beispiel:
Der folgende SQL-Code demonstriert die Konvertierung:
<code class="language-sql">DECLARE @Date char(8); SET @Date = '12312009'; SELECT CONVERT(datetime, RIGHT(@Date, 4) + LEFT(@Date, 2) + SUBSTRING(@Date, 3, 2));</code>
Dies wird Folgendes ausgeben:
<code>----------------------- 2009-12-31 00:00:00.000 (1 row(s) affected)</code>
Diese Methode führt die Konvertierung effektiv durch und ermöglicht weitere datumsbezogene Vorgänge in Ihrer SQL Server-Datenbank. Denken Sie daran, die Variable @Date
an Ihre spezifische Varchar-Datumszeichenfolge anzupassen.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich mmtttjjj varchar in datetime in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!