首页 > 解决方案 > 需要帮助理解十进制数据类型错误

问题描述

为什么第一个代码会抛出错误,而第二个代码块不会?

DECLARE @Decimal DECIMAL(4, 4)

SELECT @Decimal = 1.98761

SELECT @Decimal
GO

DECLARE @Decimal DECIMAL(5, 4)

SELECT @Decimal = 1.98761

SELECT @Decimal

标签: sqltypesdecimal

解决方案


您误解了精度和规模。

DECIMAL(4,4)有四位精度和 . . . 它们都在小数点的右边。因此,它可以包含介于 0.0000 和 0.9999 之间的值。

值 1.98761 超出了该范围。因此,一个错误。


推荐阅读