我有一个十进制值为18,8的列。我被要求将它扩展到18,18,以便在,
之后保留更多的位置。
ALTER TABLE [dbo].[TransakcjeGotowkowe]
ALTER COLUMN TransakcjeGotowkoweKwota decimal (18,18) NULL
Msg 8115, Level 16, State 8, Line 1
Arithmetic overflow error converting numeric to data type numeric.
The statement has been terminated.
我也试过用GUI做到这一点。没有其他任何改变只是想在之后持有更多数据,。
还有其他办法吗?
答案 0 :(得分:4)
Decimal数据类型由(precision,scale)
组成精度是左侧和小数点右侧的总位数。
Scale是小数点右边的位数。
如果要将右侧的位数增加到18,则需要提高整体精度。在你的情况下增加10。
所以你需要decimal(28,18)
答案 1 :(得分:2)
您需要将其更改为28,18
您当前的列允许小数点左侧10位数。
将其更改为18,18
只允许+/-0.999999999999999999