Firebird - 更适合价格计算:十进制或数字

时间:2012-12-30 12:54:34

标签: sql firebird

在Firebird DB中:我读到了数字和小数之间的差异,但仍然不确定哪个更适合价格计算:十进制或数字没有舍入数字?

由于

2 个答案:

答案 0 :(得分:8)

NUMERICDECIMAL的实现在Firebird中几乎完全相同。 Interbase 6.0数据定义指南表示存在细微差别(对于NUMERIC精度与声明完全一致,对于DECIMAL,精度至少等于声明的精度)。根据Helen Borrie的 The Firebird Book ,精度小于5的数字只有差异,因为NUMERIC精度1-4被映射到SMALLINT精确度为1-9的DECIMAL映射到INTEGER。本书还评论NUMERICDECIMAL都符合SQL-92类型DECIMAL的行为。

所以说,我建议去DECIMAL,因为它的行为符合SQL标准中定义的行为,因此对于不熟悉Firebird的人来说不那么令人惊讶,但他们对标准行为有所了解

答案 1 :(得分:2)

它们都同样适合价格计算。但总会有某些类型的计算需要舍入,无论你使用哪一种。

十进制是两者中更灵活的。