Heim >Datenbank >MySQL-Tutorial >Wie kann ich mmddyyyy Varchar-Zeichenfolgen in SQL Server 2008 erfolgreich in DateTime konvertieren?
Effektive Möglichkeit, mmtttjjj Varchar-Zeichenfolge in Datum/Uhrzeit in SQL Server 2008 zu konvertieren
In SQL Server 2008 kann es beim Konvertieren einer MMTTJJJJ-Formatzeichenfolge, die ein Datum darstellt, in einen Datum/Uhrzeit-Datentyp zu einem Konvertierungsfehler kommen. So beheben Sie das Problem:
Strings analysieren und konvertieren
Die Konvertierung mit der Funktion CONVERT direkt kann mit einem Fehler außerhalb des Bereichs fehlschlagen. Stattdessen sollten Sie die Zeichenfolge manuell in ihre Bestandteile (Monat, Tag, Jahr) analysieren und dann den Datums-/Uhrzeitwert erstellen:
<code class="language-sql">DECLARE @Date char(8) SET @Date = '12312009' SELECT CONVERT(datetime, RIGHT(@Date, 4) + SUBSTRING(@Date, 3, 2) + LEFT(@Date, 2))</code>
Beispiel: Konvertieren Sie „12312009“ in DateTime
Mit der oben genannten Methode kann die Zeichenfolge „12312009“ wie folgt in einen Datums-/Uhrzeitwert umgewandelt werden:
<code class="language-sql">SELECT CONVERT(datetime, RIGHT('12312009', 4) + SUBSTRING('12312009', 3, 2) + LEFT('12312009', 2))</code>
Ergebnisse ausgeben
Die Ausgabe der obigen Abfrage lautet:
<code>----------------------- 2009-12-31 00:00:00.000 (1 row(s) affected)</code>
Bitte beachten Sie, dass die Reihenfolge der String-Verarbeitung im Code angepasst wurde, um die Korrektheit der Konvertierung sicherzustellen, indem das Jahr vorne, der Monat in der Mitte und das Datum am Ende platziert werden unterscheidet sich von der Standardverarbeitungsmethode der CONVERT-Funktion.
Das obige ist der detaillierte Inhalt vonWie kann ich mmddyyyy Varchar-Zeichenfolgen in SQL Server 2008 erfolgreich in DateTime konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!