SQL 如何存储列的十进制值?
How does SQL store column decimal values?
SQL服务器实际上存储所有小数位,还是只存储最后一位有效数字?
即它存储 1.700
还是 1.7
?
当我在 SSMS 中查询时,我在结果中得到 1.700,但查看数据库的其他应用程序报告 1.7,所以我不知道这些应用程序是否只是为了整洁,或者 SSMS 是否正在报告列的小数位.
我正在查看的列的数据类型是 numeric(10.3)
。
numeric(10,3) 列将始终将数据存储到小数点后第三位。
如果显示方式存在差异,这些差异是由用于查看数据的应用程序引起的。
在 SSMS 中,此代码:
DECLARE @d numeric(10,3) = 1.7
SELECT @d
将始终产生此结果:
1.700
SQL服务器实际上存储所有小数位,还是只存储最后一位有效数字?
即它存储 1.700
还是 1.7
?
当我在 SSMS 中查询时,我在结果中得到 1.700,但查看数据库的其他应用程序报告 1.7,所以我不知道这些应用程序是否只是为了整洁,或者 SSMS 是否正在报告列的小数位.
我正在查看的列的数据类型是 numeric(10.3)
。
numeric(10,3) 列将始终将数据存储到小数点后第三位。
如果显示方式存在差异,这些差异是由用于查看数据的应用程序引起的。
在 SSMS 中,此代码:
DECLARE @d numeric(10,3) = 1.7
SELECT @d
将始终产生此结果:
1.700