210: Fehler beim Konvertieren einer binary-/varbinary-Zeichenfolge in eine datetime-Zeichenfolge
Fehlermeldung:
Meldung 210, Ebene 16, Status 1, Zeile 3
Fehler beim Konvertieren einer binary-/varbinary-Zeichenfolge in eine datetime-Zeichenfolge.
Ebene:
16.
Beschreibung:
Diese Fehlermeldung erscheint, wenn man versucht eine ungültige BINARY(VARBINARY) Zeichenfolge in einen Wert vom Typ DATETIME zu konvertieren.
Auswirkungen:
Das SQL Statement kann zwar geparst werden, jedoch zur Laufzeit wird der Fehler ausgelöst.
Behebung:
Fehler der Ebene 16 sind Fehler, die vom Anwender hervorgerufen werden. Sie können und müssen vom Anwender korrigiert werden. Die BINARY/VARBINARY Zeichenfolge muß gültig sein und in den DATETIME Typen konvertierbar sein.
Versionen:
Alle Versionen von SQL Server.
Beispiele:
DECLARE @bin BINARY(8)
SELECT @bin = CAST(GETDATE() AS BINARY(8))
SELECT CAST(@bin + CAST(1 AS BINARY(1)) AS DATETIME)
--oder
SELECT CAST(0x002D248F00000000 AS DATETIME)
Anmerkungen:
Im ersten Beispiel wird die Konvertierung durch eine Addition zweier Binärwerte die Konvertierung in DATETIME unmöglich.
Im zweiten Beispiel ist zwar die binäre Zeichenfolge als solche gültig, jedoch übersteigt der daraus resultierende Wert die Obergrenze des DATETIME Datentypen. Dies löst den Fehler aus.