This question already has an answer here:
这个问题在这里已有答案:
- Should you choose the MONEY or DECIMAL(x,y) datatypes in SQL Server? 12 answers
- 您应该在SQL Server中选择MONEY或DECIMAL(x,y)数据类型吗? 12个答案
What is preferable data type to store the costing value ? Money or Decimal whats the programmatic diff bet them? asp.net Data Annotation for asp.net Model for Money data type ?
存储成本核算值的首选数据类型是什么? Money还是Decimal什么是程序化差异打赌他们? asp.net Data for Money数据类型的asp.net数据注释?
2 个解决方案
#1
13
Decimal
type provides more precision to hold intermediate results to get the results you expect.
十进制类型提供更高的精度来保存中间结果以获得您期望的结果。
Disadvantages of money
datatype:
money数据类型的缺点:
-
It is proprietary, so porting it is a pain. It is one of the many "Sybase Code Museum" features from decades ago. Remember the early versions of UNIX?
它是专有的,所以移植它是一种痛苦。它是几十年前众多“Sybase代码博物馆”的特色之一。还记得UNIX的早期版本吗?
-
Writing code in dialect when you don't need to make you sound like a hillbilly to people that speak the language. You are better off with DECIMAL(s,p) so you can use a properly sized column.
当你不需要让那些说英语的人听起来像乡巴佬时,用方言编写代码。你最好使用DECIMAL(s,p),这样你就可以使用适当大小的列。
-
It does display and formatting in the back end, with commas and dollar signs. That defeats the purpose of a tiered architecture.
它在后端显示和格式化,带有逗号和美元符号。这违背了分层架构的目的。
-
The MONEY data type has rounding errors.
MONEY数据类型具有舍入错误。
Ref:msdn
参考:MSDN
#2
4
You should prefer decimal
as money
datatype is not precise.
你应该更喜欢十进制,因为money数据类型不精确。
You may also check Performance / Storage Comparisons : MONEY vs. DECIMAL by Aaron Bertrand
您还可以通过Aaron Bertrand检查性能/存储比较:MONEY与DECIMAL
#1
13
Decimal
type provides more precision to hold intermediate results to get the results you expect.
十进制类型提供更高的精度来保存中间结果以获得您期望的结果。
Disadvantages of money
datatype:
money数据类型的缺点:
-
It is proprietary, so porting it is a pain. It is one of the many "Sybase Code Museum" features from decades ago. Remember the early versions of UNIX?
它是专有的,所以移植它是一种痛苦。它是几十年前众多“Sybase代码博物馆”的特色之一。还记得UNIX的早期版本吗?
-
Writing code in dialect when you don't need to make you sound like a hillbilly to people that speak the language. You are better off with DECIMAL(s,p) so you can use a properly sized column.
当你不需要让那些说英语的人听起来像乡巴佬时,用方言编写代码。你最好使用DECIMAL(s,p),这样你就可以使用适当大小的列。
-
It does display and formatting in the back end, with commas and dollar signs. That defeats the purpose of a tiered architecture.
它在后端显示和格式化,带有逗号和美元符号。这违背了分层架构的目的。
-
The MONEY data type has rounding errors.
MONEY数据类型具有舍入错误。
Ref:msdn
参考:MSDN
#2
4
You should prefer decimal
as money
datatype is not precise.
你应该更喜欢十进制,因为money数据类型不精确。
You may also check Performance / Storage Comparisons : MONEY vs. DECIMAL by Aaron Bertrand
您还可以通过Aaron Bertrand检查性能/存储比较:MONEY与DECIMAL