我正在尝试在数据库中保存十进制值,但收到此错误。
我试图保存的值0.00038711029163348665
或1.00038711029163348665
或2.00038711029163348665
,以及数据库中的列Decimal(18,18)
不确定我做错了什么
精度DECIMAL(18,18)
表示总共18 个精度单位,所有 18 个单位都在小数点之后。 您需要在小数点左侧至少有一个精度单位来处理输入的整数分量,因此您应该使用DECIMAL(19,18)
或类似的东西。
请参阅演示以验证DECIMAL(19,18)
是否解决了您的问题,至少对于您向我们展示的数据而言。
>Decimal(18,18)
小数位右侧有 18 位数字,左侧没有,因此1.00038711029163348665
不适合。
使用较大的类型。 为什么不直接使用decimal(38, 18)
?