Monetary Data

Monetary datatypes consist of numeric data for decimal currency. Precede monetary data with a dollar sign ($). If there is no dollar sign, SQL Server treats the value as a numeric with a scale of 4. Money values, even when input with a dollar sign, do not return dollar signs in the results.

To represent negative monetary data values, place a minus sign (-) after the dollar sign. You cannot enter monetary data values with commas, although the default print format for monetary data places a comma after every three digits.

When monetary data is displayed, they are rounded up to the nearest cent. All arithmetic operations except modulo are available with monetary datatypes.

Note With both money and smallmoney, you can store monetary values other than U.S. dollars, but SQL Server does not provide any form of conversion.

These are the monetary datatypes:

money
Is a datatype that stores monetary values from -922,337,203,685,477.5808 through +922,337,203,685,477.5807, with accuracy to a ten-thousandth-of-a-monetary-unit. Money values are represented as double-precision integers. Storage size is 8 bytes.
smallmoney
Is a column that stores monetary values from - 214,748.3648 through +214,748.3647, with accuracy to a ten-thousandth-of-a-monetary-unit. Storage size is 4 bytes. When smallmoney values are displayed, they are rounded up to two places.