首页 > 解决方案 > MySQL中基于数据类型的不同结果

问题描述

我会根据 mysql 中的数据类型得到不同的结果吗?我想知道这是为什么造成的?

CREATE TABLE `testdb`.`typenumbers` ( 
             `id` INT(11) NOT NULL AUTO_INCREMENT , 
             `type_flo` FLOAT(10,10) NOT NULL , 
             `type_dbl` DOUBLE(10,10) NOT NULL , 
             `type_dec` DECIMAL(10,8) NOT NULL , 
             PRIMARY KEY (`id`)) ENGINE = InnoDB;
INSERT INTO `typenumbers` (`id`, `type_flo`, `type_dbl`, `type_dec`) VALUES (NULL, '1.2', '1.2', '1.2');
SELECT (1.1 * `type_flo`) as flo, (1.1 * `type_dbl`) as dbl, (1.1 * `type_dec`) as deci FROM `typenumbers`;

Result:
+--------------+--------------+-------------+
| flo          | dbl          | deci        |
+--------------+--------------+-------------+
| 1.3200000525 | 1.3200000000 | 1.320000000 |
+--------------+--------------+-------------+

标签: mysqlsql

解决方案


推荐阅读