2012-12-30 2 views

Antwort

6

Die Implementierung für beide NUMERIC und DECIMAL sind in Firebird fast identisch. Der Interbase 6.0 Data Definition Guide sagt, es gibt einen feinen Unterschied (für NUMERIC Genauigkeit ist genau wie erklärt, für DECIMAL ist die Genauigkeit mindestens gleich erklärt). Gemäß Das Firebird Book von Helen Borrie gibt es nur einen Unterschied für Zahlen mit einer Genauigkeit von weniger als 5, da ein NUMERIC der Genauigkeit 1-4 auf SMALLINT abgebildet wird, während ein DECIMAL der Genauigkeit 1-9 auf INTEGER abgebildet wird. Dieses Buch merkt auch an, dass sowohl NUMERIC als auch dem Verhalten des SQL-92-Typs DECIMAL entsprechen.

Daher würde ich empfehlen, für zu gehen, da sein Verhalten den in den SQL-Standards definierten entspricht und daher weniger überraschend für Leute hält, die mit Firebird nicht vertraut sind, aber das Standardverhalten verstehen.

2

Sie sind beide gleichermaßen für Preisberechnungen geeignet. Aber es wird immer bestimmte Arten von Berechnungen geben, die eine Rundung erfordern, egal welche davon Sie verwenden.

Dezimal ist die flexiblere der beiden.