Subject | NUMERIC(18,3) or NUMERIC(18,up to 6) for money? |
---|---|
Author | David Garamond |
Post date | 2003-11-23T20:33:34Z |
Browsing the archives, I've read some people suggesting NUMERIC(18,4) or
even NUMERIC(18,6) for storing currency amounts. Assuming the currency
unit/code (USD, CAD, etc) will be stored in an accompanying field, and
thus money amount will be recorded in their natural currency, what are
the reasons to use more than 3 decimal places? Especially since 12
digits are sometimes inadequate for low-value currencies like Italian
Lira, Korean Won, or Indonesian Rupiah. (Note, this is for storing money
amounts, not for currency rates -- which *does* need 6 decimal places at
times, e.g. 1 IDR = 0.000118 USD.)
On the other hand, why do some people avoid NUMERIC(18,2)? Are tenth of
cents usually encountered often in practice? Or will there be rounding
problems when using only 2 decimal places?
Opinions/experience sharing appreciated,
--
dave
even NUMERIC(18,6) for storing currency amounts. Assuming the currency
unit/code (USD, CAD, etc) will be stored in an accompanying field, and
thus money amount will be recorded in their natural currency, what are
the reasons to use more than 3 decimal places? Especially since 12
digits are sometimes inadequate for low-value currencies like Italian
Lira, Korean Won, or Indonesian Rupiah. (Note, this is for storing money
amounts, not for currency rates -- which *does* need 6 decimal places at
times, e.g. 1 IDR = 0.000118 USD.)
On the other hand, why do some people avoid NUMERIC(18,2)? Are tenth of
cents usually encountered often in practice? Or will there be rounding
problems when using only 2 decimal places?
Opinions/experience sharing appreciated,
--
dave