Parameterwert '33 .42922222' liegt außerhalb des zulässigen Bereichs

8

Ich habe ein Attribut einer Tabelle namens ad Latitude, ich habe seine data type als decimal(9,8) null festgelegt, aber wenn ich versuche, den Wert 33.42922222 einzufügen, bekomme ich den Fehler

  

Parameterwert '33 .42922222' liegt außerhalb des Bereichs.

Wenn ich versuche, den Wert direkt in die Datenbanktabelle einzugeben, wird Arithmetic overflow error

angezeigt

Ich habe versucht, den Datentyp in numeric(9,8) null zu ändern, aber ohne Erfolg

Bitte helfen Sie mir, das Problem herauszufinden ...

    
John x 22.08.2012, 22:34
quelle

2 Antworten

13

Zur Klarstellung DECIMAL(9,8) ist 1 Stelle vor dem Komma und 8 Stellen nach dem Komma.

So sollte DECIMAL(10,8) für 33.42922222 funktionieren.

dezimal und numerisch (Transact-SQL)

    
Tim Schmelter 22.08.2012, 22:35
quelle
2

Ihre Präzision ist nicht genug . Stellen Sie die Genauigkeit gemäß dem maximalen Wert ein, den Sie nicht verwenden. Wenn Sie zum Beispiel 999,999 als Maximalwert erwarten und eine Skalierung von 8 benötigen, legen Sie sie als Dezimalzahl (14,8) fest.

    
crnlx 22.08.2012 22:37
quelle