mysql sum()未给出正确的十进制值

mysql sum()未给出正确的十进制值,mysql,sum,decimal,Mysql,Sum,Decimal,我在varchar列中有9个条目,都在小数点后2位。当我用sum()而不是正确的答案来加它们时,它会让我在小数点后的多个位置上减去一点点。为什么会发生这种情况 Select sum(atotal) AS itemstotal FROM mytable 这将给我248.29999998或类似的东西,而不是我在添加项目时计算的248.3选择格式(总和,2)作为MyTable中的项目总计。请发布这9个“数字”。6.00、6.00、56.00、118.00、6.00、15.00、2.20、24.10、

我在varchar列中有9个条目,都在小数点后2位。当我用sum()而不是正确的答案来加它们时,它会让我在小数点后的多个位置上减去一点点。为什么会发生这种情况

Select sum(atotal) AS itemstotal FROM mytable

这将给我248.29999998或类似的东西,而不是我在添加项目时计算的248.3

选择格式(总和,2)作为MyTable中的项目总计。请发布这9个“数字”。6.00、6.00、56.00、118.00、6.00、15.00、2.20、24.10、15.00是。我的错误是该列被保留为varchar(45)。我把它改为十进制(13,2),现在它可以正常工作了
Select cast(sum(atotal) as decimal(12,2)) AS itemstotal FROM mytable