何时在SQL Server中使用Money数据或十进制数据类型来存储成本核算值?

时间:2014-03-12 06:00:11

标签: sql sql-server decimal sqldatatypes currency

存储成本核算价值的首选数据类型是什么?金钱或十进制 什么编程差异打赌他们? asp.net Data for Money数据类型的asp.net数据注释?

2 个答案:

答案 0 :(得分:13)

Decimal类型提供更高的精度来保存中间结果以获得您期望的结果。

money数据类型的缺点:

  1. 它是专有的,所以移植它是一种痛苦。它是众多" Sybase Code Museum"几十年前的特征。还记得UNIX的早期版本吗?

  2. 当你不需要让那些说英语的人听起来像乡巴佬时,用方言编写代码。你最好使用DECIMAL(s,p),这样你就可以使用适当大小的列。

  3. 它在后端显示和格式化,带逗号和美元符号。这违背了分层架构的目的。

  4. MONEY数据类型存在舍入错误。

  5. 价:MSDN

答案 1 :(得分:4)

您应该更喜欢decimal,因为money数据类型不准确。

您也可以查看Aaron Bertrand的Performance / Storage Comparisons : MONEY vs. DECIMAL

相关问题