SQL Server货币数据类型需要更高的精度

SQL Server货币数据类型需要更高的精度,sql,sql-server,asp-classic,sqldatatypes,currency,Sql,Sql Server,Asp Classic,Sqldatatypes,Currency,我正在处理这个旧的SQL Server数据库,它将数值存储在MONEY数据类型中。这已经好几年了,现在对于一些货币汇率转换,我们需要最多10位小数。我们正在探索从MONEY数据类型到DECIMAL的可能转换 我看到MONEY字段相当于十进制(19,4)。使用更宽的十进制(25,10)来容纳10个十进制数字是否安全 如果我们希望为将来的请求提供更多的空间,那么在数据库上构建的经典ASP应用程序(使用Doubledatatype)不再适用的限制是什么 谢谢您应该将该类型定义为十进制(25,10),它

我正在处理这个旧的SQL Server数据库,它将数值存储在
MONEY
数据类型中。这已经好几年了,现在对于一些货币汇率转换,我们需要最多10位小数。我们正在探索从
MONEY
数据类型到
DECIMAL
的可能转换

我看到
MONEY
字段相当于
十进制(19,4)
。使用更宽的
十进制(25,10)
来容纳10个十进制数字是否安全

如果我们希望为将来的请求提供更多的空间,那么在数据库上构建的经典ASP应用程序(使用
Double
datatype)不再适用的限制是什么


谢谢

您应该将该类型定义为十进制(25,10),它可以将联邦赤字保持在10位的精度。(25位,小数点后10位)。

。。。这是一个很酷的问题。您使用的是哪种货币,需要10位小数?1日元=0.00810349美元,但经典ASP双精度数据类型只能处理15位有效数字。有什么比@Dijkgraaf更好的解决方案吗?不要使用经典ASP;-)可能使用ASP.NET,其中的十进制类型有29个有效数字。双精度是一个科学数字。它有一个指数和尾数,对科学很有帮助,但它的四舍五入方式与十进制大不相同。