存储成本值的最佳数据类型是什么?货币还是十进制它们的编程差异是什么?数据注释为asp.net模型的货币数据类型?
Decimal
类型提供了更高的精度来保存中间结果,以获得您期望的结果。
money
数据类型的缺点:
-
它是专有的,所以移植它是一个痛苦的过程。它是几十年前的许多"Sybase代码博物馆"功能之一。还记得UNIX的早期版本吗?
-
当你不需要让说这种语言的人听起来像乡巴佬时,用方言写代码。您最好使用DECIMAL(s,p),以便您可以使用适当大小的列。
-
它在后端显示和格式化,使用逗号和美元符号。这违背了分层架构的目的。
-
MONEY数据类型有舍入误差
裁判:msdn
您应该选择decimal
,因为money
数据类型不精确。
你也可以查看性能/存储比较:MONEY vs. DECIMAL by Aaron Bertrand