【发布时间】:2011-10-21 11:59:41
【问题描述】:
我正在开发一个 SQL Server 数据库,需要确保数字类型对于数据来说足够大。
有两个来源:Java double 和 Oracle float(126)。
SQL Server 类型为numeric(30,10) 或numeric(15,8)。
我读到 Java doubles 可以存储从 -4.9E-324 到 1.7976931348623157E+308 的值,Oracle float(126) 大约有 38 位精度,而 SQL Server numeric(30,10) 只有 30 位精度并允许 10 位小数点后。
我是否正确地说numeric(30,10) 对double 和float(126) 不安全,并且可能导致精度损失或溢出。是否应该将这些更改为DOUBLE PRECISION?
【问题讨论】:
标签: sql-server floating-point sqldatatypes