mysql 精度问题

CREATE TABLE t1(c1 FLOAT(10,2), c3 DECIMAL(10,2)); 

INSERT INTO t1 VALUES(9876543.21, 9876543.12);

SELECT * FROM t1;


输出:
c1	c3
9876543.00 9876543.12


CREATE TABLE IF NOT EXISTS `decimal_test`(
num DECIMAL(5,3) -- 总长为5,小数部分为3
);
INSERT INTO `decimal_test`(num) VALUES(1.2345);
INSERT INTO `decimal_test`(num) VALUES(12.345);
INSERT INTO `decimal_test`(num) VALUES(123.45); -- 小数不足3,补0后总长大于5,所以无法插入
INSERT INTO `decimal_test`(num) VALUES(1.2); -- 小数不足3,补0
SELECT * FROM `decimal_test`;



输出:

num
1.235
12.345
1.200

你可能感兴趣的:(mysql)