SQL插入命令错误

时间:2016-05-26 16:06:07

标签: sql-server

Create table Loan
(
    LoanID Int,
    LoanAmount Decimal(5,2)
)

Select * from Loan

Insert Into Loan(LoanID, LoanAmount)
Values (1, 1555), (2, 7500), (3, 2455), (4, 8630), (5, 5685)

我无法在数据类型为Decimal(5,2)的表中插入值。它会抛出错误

  

将int转换为数据类型numeric的算术溢出错误。   声明已经终止。

如果我增加精度值,它就会起作用。

有人可以帮忙吗?

谢谢

1 个答案:

答案 0 :(得分:2)

没有问题。精度是将存储的位数,scale是小数点右边的位数。因此,在您的示例中,您在小数点右侧有2位数字,总共5位数意味着您只能在左侧有3位数。

https://msdn.microsoft.com/en-us/library/ms187746.aspx

如果您需要容纳更大的数字,请将其更改为Decimal(6,2)甚至更大。