Heim > Datenbank > MySQL-Tutorial > Wie vermeide ich Fehler außerhalb des zulässigen Bereichs beim Konvertieren von VARCHAR in DATETIME in SQL Server?

Wie vermeide ich Fehler außerhalb des zulässigen Bereichs beim Konvertieren von VARCHAR in DATETIME in SQL Server?

Patricia Arquette
Freigeben: 2025-01-13 06:34:43
Original
623 Leute haben es durchsucht

How to Avoid Out-of-Range Errors When Converting VARCHAR to DATETIME in SQL Server?

SQL Server VARCHAR-zu-DATETIME-Konvertierung: Verhindern von Fehlern außerhalb des zulässigen Bereichs

Das Konvertieren von VARCHAR-Zeichenfolgen, die Datumsangaben darstellen (wie „mmtttjjj“), in den DATETIME-Typ von SQL Server 2008 führt bei direkter Verwendung von CONVERT häufig zu „Wert außerhalb des gültigen Bereichs“-Fehlern. Dies liegt daran, dass das Eingabeformat nicht mit dem erwarteten DATETIME-Format übereinstimmt.

Die Lösung besteht darin, die VARCHAR-Zeichenfolge vor der Konvertierung in ein yyyymmdd-Format umzustrukturieren. So geht's:

<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>
Nach dem Login kopieren

Dieser Code führt die folgenden Schritte aus:

  1. Eine VARCHAR-Variable (@Date) enthält die Eingabedatumszeichenfolge.
  2. RIGHT(@Date, 4) extrahiert das Jahr (letzte vier Zeichen).
  3. LEFT(@Date, 2) extrahiert den Monat (die ersten beiden Zeichen).
  4. SUBSTRING(@Date, 3, 2) extrahiert den Tag (Zeichen 3 und 4).
  5. Jahr, Monat und Tag werden im yyyymmdd-Format verkettet.
  6. CONVERT() wandelt schließlich die korrekt formatierte Zeichenfolge in einen DATETIME-Wert um.

Diese Methode vermeidet effektiv den Fehler außerhalb des Bereichs und stellt eine erfolgreiche Konvertierung sicher.

Das obige ist der detaillierte Inhalt vonWie vermeide ich Fehler außerhalb des zulässigen Bereichs beim Konvertieren von VARCHAR in DATETIME in SQL Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage