2016-02-23 36 views
0

SQL Server实际上是否存储所有的小数位,或刚刚达到最后一位有效数字?SQL如何存储列十进制值?

即它存储1.7001.7

当我在SSMS中查询时,结果中得到1.700,但其他应用程序查看数据库报告1.7,因此我不知道应用程序是否刚刚整理或者SSMS是否报告了列的小数位。

我正在查看的列的数据类型是numeric(10.3)

+0

它所存储的,它所显示的内容取决于您使用该列的数据类型。 –

+0

我已将数据类型添加到我的问题中 – Midavalo

+0

如果要持续显示给定的小数位数,则应在前端处理显示。 –

回答

3

数字(10,3)列将始终将数据存储到小数点后第三位。

如果显示方式有所不同,那么这些差异是由用于查看数据的应用程序引起的。

在SSMS,此代码:

DECLARE @d numeric(10,3) = 1.7 

SELECT @d 

总是会产生这样的结果:

1.700