【发布时间】:2011-10-06 09:25:24
【问题描述】:
我必须在 MySQL 数据库中保存十进制值(高精度)。但是在 MySQL 中有两种类型:十进制和数字(请参阅 http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html ),它们需要两个数字(第一个,第二个),我不知道这些数字在精度上等于 C# 类型小数。
【问题讨论】:
我必须在 MySQL 数据库中保存十进制值(高精度)。但是在 MySQL 中有两种类型:十进制和数字(请参阅 http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html ),它们需要两个数字(第一个,第二个),我不知道这些数字在精度上等于 C# 类型小数。
【问题讨论】:
来自您键入的链接:
DECIMAL 和 NUMERIC 类型存储精确的数字数据值。这些 当保持精确精度很重要时,使用类型,例如 以货币数据为例。在 MySQL 中,NUMERIC 被实现为 DECIMAL,因此以下关于 DECIMAL 的注释同样适用于 数字。
我认为它们在大多数 RDBMS 中完全相同。但也许有一天它们会变得不同(我怀疑):
DECIMAL(s,p) 和 NUMERIC(s,p) 之间的区别在 SQL-92 标准 -- DECIMAL(s,p) 必须与 声明,而 NUMERIC(s,p) 必须至少与声明的一样精确。
【讨论】:
在 MySQL 中,DECIMAL 和 NUMERIC 是相同的。您可以使用这些类型中的任何一种来存储精确的数值。
【讨论】: