Hier ist eine vollständige Veröffentlichung, in der Sie erfahren, wie Sie das Problem „Konvertierungsfehler beim Konvertieren von Datum und Zeit“ in SQL Server lösen.

Bei Datums- und Zeitangaben in SQL Server treten aufgrund von Inkonsistenzen bei der Datums-/Zeitformatierung Fehler bei der Abfrageausführung auf. Stellen Sie vor der Konvertierung sicher, dass eine Datumszeichenfolge richtig formatiert ist, da sonst derartige Fehler auftreten können. Wenn das Datumsliteral nicht das richtige Format aufweist, kann SQL es nicht als DateTime-Wert verstehen. Daher wird die Meldung „Konvertierung beim Konvertieren von Datum und/oder Zeit aus Zeichenfolge fehlgeschlagen“ angezeigt.

Konvertierung fehlgeschlagen beim Konvertieren von Datum und

Dies liegt daran, dass die zu konvertierende Zeichenfolge ein falsches Format aufweist, einschließlich eines ungeeigneten Trennzeichens und einer falschen Datumsfolge. Ein weiterer möglicher Grund für dieses Problem könnte eine falsche Formatierung oder die Verwendung von Sonderzeichen sein. Eine ordnungsgemäße Validierung der Eingabe sowie die Verwendung geeigneter, konsistenter Formate vermeiden ebenfalls Konvertierungsfehler.

Ein Beispiel:



SQL Server bietet Unterstützung für das britische Datums- und Zeitformat Tag-Monat-Jahr (z.B. 10.Januar2015 oder 1.10.2015) mithilfe der integrierten Konvertierungsfunktion und dem Formatierungsstil 103.




In diesem Beispiel sehen Sie das falsche Format der angegebenen Datumszeichenfolge. Monat, Tag und Jahr wurden in dieser Reihenfolge falsch angegeben, was SQL Server nicht versteht und einen Fehler zurückgibt. Das richtige Format zum Konvertieren von Daten im Datumsformat „103“ in das britische Format ist „tt/mm/jjjj“.




Formatfehler: Unfähigkeit, @date_time_value select CONVERT(datetime2, @date_time_value, 103) als UK_Date_Time_Style aus dem Datensatz "varchar(100)= '10/16/2015 21:02:04'" anzugeben. Fehler aufgrund des falschen Datumsformats. Abbildung 2


Richtiges Format:




Drei „dd/mm/yy“ und 103 „dd/mm/yy“ sind das Datumsformat für Großbritannien bzw. Frankreich. Hier werden 103 und 3 als Datumsformate verwendet.




Declare variable '@date_time_value' with value '10/1/15 21:02:04' and use CONVERT function with the parameters 'datetime2' and '@date_time_value' as a value 103 as its source for the Date_Time_Style.Figure 3: The Correct Date Format using "dd/mm/yyyy" French and British datingDeclare @date_time_value as a varchar(100) and give it a value of '10/1/15 21:02:04'. Next, execute the CONVERT function against datetime2 and @date_time_value supplying 3 for UK_Date_Time_Style.Appropriate Date Format using "dd/mm/yy" Figure 4 French and British dating



The second sample is:




Sometimes the faulty data that you are trying to save can be the cause of date conversion failure in SQL Server - rather than the date or time formats applied.



Incorrect Date:




As the year 2019 is not a leap year, the error below occurs solely because the date "29 February" does not exist in that year.




Declare date and time. '2019-02-29 21:02:04' is the value of varchar(100). select the second datetime value from the parameter "cast" Figure 5: Because the year 2019 is not a leap year, 29th of February is not included. This is the reason for the occurring error.



Correct Option:




Declare the date and time value, please. '2019-02-28 21:02:04' is varchar(100) value. select the second datetime value from the parameter "cast"Picture 6: Updated listing



ISO 8601 Dates Standard:




While there are plenty of ways to manipulate date values, choosing a datetime representation may pose some usability issues when working with an audience based worldwide/international. Avoid using such date/time literals that are specific for any one culture. When we thought over the date "03/08/2018," people from different parts of the world will give it different meanings.




It is understood as "8th of March 2018." in British English.




That, in European writing, is "3rd of August 2018 ."




The good news is that ISO's international date format provides an alternate. Another, more language-neutral choice for string literals that takes care of all these problems is the "YYYY-MM-DDThh:mm:ss" format, which is defined by ISO 8601. In this context, the year is denoted by "yyyy", the month by "mm" and the day by "dd". Therefore, the international ISO format for the date "8th of March 2018" is "2018-03-08." Thus, when it comes to a presentation of dates, the ISO standard will be the most appropriate choice.




Declare @date_time_value varchar(100) = '2019-03-28 21:02:04', and by using the next code, datetime2 @date_time_value = 126, where mm is formatted date formatted as [yyyy-mm-ddThh:mi:ss.mmm].Date format according to International Standard ISO 8601 (Figure 7)



Kommentare zur Verbesserung:




Wenn es um Datums-/Uhrzeitwerte geht, ist die Community anscheinend oft verwirrt. Hoffentlich kann dieser Artikel für Klarheit sorgen. Datentypen wie varchar, char, nvarchar, nchar und Text sollten niemals zur Speicherung von Daten verwendet werden. Rufen Sie niemals formatierte Datumsinformationen aus der Datenbank ab. Speichern Sie Datumswerte immer in Spalten vom Typ DATE, DATETIME oder – wenn eine höhere Genauigkeit erforderlich ist – DATETIME2.




Sie können dieses Problem oder den „Konvertierungsfehler beim Konvertieren von Datum und Zeit“ in SQL Server beheben, indem Sie der Anleitung folgen und die spezifische Fehlerursache beheben.




Other Articles
So beheben Sie das Problem: Die Funktion, die Sie verwenden möchten,befindet sich auf einer Netzwerkressource, die nicht verfügbar ist?
Sie fragen sich, wie Sie das Problem beheben können? DieFunktion, die Sie verwenden möchten, befindet sich auf einerNetzwerkressource, die nicht verfügbar ist? Hier ist die beste Antwort.

So beheben Sie den Verarbeitungsfehler „Der L2TP-Verbindungsversuch ist fehlgeschlagen“
Wir zeigen Ihnen heute in unserem Artikel, wie Sie denVerarbeitungsfehler „L2TP-Verbindungsversuch fehlgeschlagen“ aufeinfache Weise beheben können.

So beheben Sie das Problem „Prozedureintrittspunkt ucrtbase.terminate fehlt“
Wenn Sie nicht wissen, wie Sie das Problem mit dem fehlendenEinstiegspunkt der Prozedur ucrtbase.terminate beheben können, findenSie hier eine Schritt-für-Schritt-Anleitung, die Ihnen dabei hilft.

So beheben Sie „Lokale Änderungen an folgenden Dateien werden überschrieben“
Um zu erfahren, wie Sie das Problem „Lokale Änderungen anfolgenden Dateien werden überschrieben“ beheben können, finden Sie hiereine Schritt-für-Schritt-Anleitung, die Ihnen weiterhilft.

So beheben Sie das Problem „Gerät oder Ressource (DNS-Server) reagiert nicht“
Hier finden Sie einen vollständigen Beitrag, in dem Sie erfahren, wie Sie das Problem lösen, dass das Gerät oder die Ressource(DNS-Server) nicht reagiert.

So beheben Sie den Fehler „Dieses Element konnte nicht gefunden werden“
Heute bieten wir Ihnen eine vollständige Anleitung, mit der Sieden Fehler „Dieser Artikel konnte nicht gefunden werden“ beheben können.

Wie behebt man DEV ERROR 12502 in Call of Duty?
Wenn Sie sich fragen, wie Sie DEV ERROR 12502 in Call of Duty beheben können? Hier ist eine Anleitung mit der besten Antwort.

So beheben Sie das Problem mit dem Microsoft Office-Fehlertag 58tm1
Um zu erfahren, wie Sie das Problem mit dem Microsoft Office-Fehlerlabel58tm1 beheben können, finden Sie hier eine vollständige Anleitung.