1.在MySQL 5.1中以二进制格式保存DECIMAL和NUMERIC值。
2.
DECIMAL和NUMERIC值作为字符串存储,而不是作为二进制浮点数,以便保存那些值的小数精度。一个字符用于值的每一位、小数点(如果scale>0)和“-”符号(对于负值)。如果scale是0,DECIMAL和NUMERIC值不包含小数点或小数部分。
DECIMAL和NUMERIC值得最大的范围与DOUBLE一样,但是对于一个给定的DECIMAL或NUMERIC列,实际的范围可由制由给定列的precision或scale限制。当这样的列赋给了小数点后面的位超过指定scale所允许的位的值,该值根据scale四舍五入。当一个DECIMAL或NUMERIC列被赋给了其大小超过指定(或缺省的)precision和scale隐含的范围的值,MySQL存储表示那个范围的相应的端点值。
转自:http://www.cbi.pku.edu.cn/chinese/documents/csdoc/mysql/manual_Reference.html

本文详细解释了在MySQL5.1中使用DECIMAL和NUMERIC类型以二进制格式保存数值的方法,包括它们如何作为字符串存储以保留小数精度,以及它们与double类型的比较,特别是关于范围和四舍五入的规则。
1046

被折叠的 条评论
为什么被折叠?



