mysql : float,double,decimal

2019-07-23  本文已影响0人  torrent_lsl
执行一条sql
INSERT INTO audience.`test_float_decimal`(cost) VALUES(880960.08)
执行结果如下:
image.png
sql 语句里面是880960.08,插入的结果却不同???让我们带着疑问往下看!
首先,我们来快速重现一下问题,才有说服力:
  1. 建表语句 (cost字段为float类型)
CREATE TABLE `test_float_decimal` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `cost` FLOAT(11,2) DEFAULT NULL,
  PRIMARY KEY (`id`)
)
  1. 插入数据
INSERT INTO audience.`test_float_decimal`(cost) VALUES(880960.08)
  1. 查看数据库插入的cost字段的数据(会发现数据异常)

哦,差点忘了.........
如果解决问题,把字段类型该为decimal就可以了

INSERT INTO audience.`test_float_decimal`(cost) VALUES(880960.08)
执行结果如下:
image.png
上一篇 下一篇

猜你喜欢

热点阅读