将.NET类型映射到SQL Server 200数据类型

时间:2011-10-06 08:09:52

标签: sql-server-2008 types

如何在SQL Server 2008数据类型中存储.NET double?

当我尝试在数字(16,16)列中存储双精度时,我得到一个异常'参数值'1.3465492655247000'超出范围'。因为数字有16位小数,前面有1位。 numeric(16.16)是我在SQL Server中为该类型设置的最大值。

我在C#中创建了一个ADO.NET数据集,并将列设置为十进制。 我将双精度投射到小数。

site显示SQL Server 2008数据类型

1 个答案:

答案 0 :(得分:1)

numeric(16, 16)允许长度为16的数字,所有16位数字都保留给小数点后的数字。

您可以前往numeric(38, 16)。这将允许小数点左边最多22位,右边16位。

这并不完全允许±1.0 × 10^28 to ±7.9 × 10^28的全部范围。如果您需要较大的数字,则需要减少为小数位保留的位数。