【发布时间】:2012-01-29 04:15:28
【问题描述】:
我必须在我的数据库中表示数字,即食物中化学物质的数量,如脂肪、能量、镁等。这些值是格式为 12345.67 的小数。
如果我在 SQL Server 中使用 decimal (5,2) 作为数据类型,它会映射到实体框架中的 Decimal 类型。如果我在 SQL Server 中使用 float 作为数据类型,它会映射到 Entity Framework 中的Double。
我不确定 SQL Server 中最好的数据类型是什么,或者它真的很重要吗?
编辑 - 在我的情况下,它应该是 decimal(7,2),正如一些评论中提到的那样!
谢谢。
【问题讨论】:
-
DECIMAL通常是首选 - 它不会受到像FLOAT这样的舍入错误的困扰 -
如果您想要精度并且在小数点后有有限数量的预期值,如果您不关心精度,请使用小数点使用浮点数。搜索小数与浮点数以查看原因。
-
由于某些物质在其他物质中的百分比不具有 2 位的精确精度,因此此处不适合使用小数类型。例如,您不能将 0.125 放在 decimal(5,2) 字段中,但可以放在浮点数中。建议小数的人都在想钱!
-
@Mr Lister:我也想钱(意思是省钱):)
标签: c# sql-server types entity-framework-4 sqldatatypes