使用MySQL 5.0.27
此查询:SELECT CAST('543.21'AS DECIMAL(100,2))
返回543.21
这一个是这样的:SELECT CAST('543.21'AS DECIMAL(2,2))
事实上,我无法弄清楚参数有什么影响.我用它来汇总varchar列中的数值(由于遗留原因!!)并舍入到2位小数.
我应该选择一个高数字吗?
它描述了字段(或变量)能够存储的总位数.DECIMAL(100,2) - 100位总数,98位之前,2位小数点后分隔符DECIMAL(2,2)2位总数,0位之前,2位小数点后分隔符
这里解释:http: //dev.mysql.com/doc/refman/5.1/en/numeric-types.html
[添加]
对于舍入,只需使用ROUND()函数.