2012-12-30 6 views

risposta

6

L'implementazione sia per NUMERIC e DECIMAL sono quasi identiche in Firebird. La guida alla definizione dei dati di Interbase 6.0 dice che c'è una sottile differenza (per la precisione NUMERIC è esattamente come dichiarato, per DECIMAL la precisione è almeno uguale a dichiarata). Secondo di Firebird Book di Helen Borrie c'è solo una differenza per i numeri con una precisione inferiore a 5 come NUMERIC di precisione 1-4 viene mappato su un SMALLINT mentre un DECIMAL di precisione 1-9 viene mappato su INTEGER. Questo libro rileva inoltre che sia NUMERIC sia DECIMAL sono conformi al comportamento di tipo SQL-92 DECIMAL.

Quindi, con quello detto, vorrei consigliare di andare per DECIMAL, come il suo comportamento sia conforme a quello definito negli standard SQL e per questo vale meno sorpresa per chi non conosce Firebird, ma che capisco il comportamento standard.

2

Sono entrambi ugualmente adatto per il calcolo dei prezzi. Ma ci saranno sempre certi tipi di calcoli che richiedono un arrotondamento, indipendentemente da quale di questi usi.

Decimale è il più flessibile dei due.

Problemi correlati