Ich benutze die Abfrage unten, um eine Spalte 'Characteristic__c' von varchar (255) in DECIMAL (22,8) zu konvertieren. Der Wert von Characteristic__c wurde als 0.0 angegeben, verursacht aber immer noch den Fehler 'Arithmetischer Überlauffehler beim Konvertieren von varchar in den numerischen Datentyp.'. Ich kenne den Grund nicht und danke für die Hilfe.Was verursacht den Fehler 'arithmetischer Überlauffehler beim Konvertieren von varchar in Datentyp' numerisch '?
SELECT CONVERT(DECIMAL(22,8) , Characteristic__c) FROM [ODS].[dbo].
[Scorecard_Details__c]
WHERE Attribute__c='Employment Duration' and Characteristic__c=0.0 and
WOE__c=0
'varchar (255)' muss zu breit sein, um in 'Dezimal (22, 8)' zu passen. Nur weil ein gegebener _value_ "0.0" ist, bedeutet das nicht, dass der Platz, den er einnimmt, diesen Betrag widerspiegelt. –
Das Problem ist nur mit der WHERE-Klausel, glaube ich. Sie erhalten den gleichen Fehler mit etwas wie: 'Wählen Sie 1 aus (Werte ('1')) t (a) wobei t.a = 0.0;'. Das Update hängt wahrscheinlich davon ab, wie Ihre Daten aussehen. – ZLK
TBH Ihre Spaltennamen sehen hässlich aus –