Thanks for the reply, Rudy. My source for the statement that decimal values are stored as strings is: http://www.mysql.com/doc/en/Numeric_types.html :
"DECIMAL and NUMERIC values are stored as strings, rather than as binary floating-point numbers, in order to preserve the decimal precision of those values. One character is used for each digit of the value, the decimal point (if scale > 0), and the `-' sign (for negative numbers). If scale is 0, DECIMAL and NUMERIC values contain no decimal point or fractional part." But you sound knowledgeable. Is the manual in error? --John On Wednesday 16 July 2003 04:36 am, Rudy Metzger wrote: > Problem is that DECIMALs are currently stored as FLOAT or > DOUBLE in the DB (at least MyISAM). MySQL AB is busy with > adding a true monetary type (like MONEY) to the system. > > What I am doing when using monetary values is putting > them into floats if I can live with rounding problems or > put them into in ints and multiply them by 100 (or 1000) > before putting them there (thus taking care of the > decimal point myself). > > Cheers > /rudy > > ps: I wish DECIMALS would be stored as char :) > > -----Original Message----- > From: John Hicks [mailto:[EMAIL PROTECTED] > Sent: dinsdag 15 juli 2003 21:39 > To: [EMAIL PROTECTED] > Subject: Best practice column type for storing decimal > currency amounts? > > Is there an accepted best practice on whether to store > decimal currency amounts (e.g. dollars and cents) in > MySQL decimal column types? > > Certainly, the most straightforward way is to use decimal > columns. But it appears that such values are stored as > ASCII strings, which would be inefficient for > calculations (requiring conversion to a numeric type for > each calculation). > > I guess the alternative would be to use integer columns > (and multiply by 100 to store the value as total cents). > > My particular context is a PHP/MySQL sales system. > > What's the consensus? > > Thanks much, > > --John -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]
