MySQL将float字段中的数据转换为十进制字段

时间:2014-04-10 21:54:39

标签: mysql database

我在MySQL表中有一些数据被错误地存储为float数据类型。例如:

7.45

我需要将该数据转换为decimal类型,这样我才不会遇到舍入错误。

如果我这样做:

ALTER TABLE `invoice_line`
CHANGE `line_quantity` `line_quantity` decimal(18,6) unsigned NOT NULL AFTER `line_rate`;

我最终在表格中得到了这样的值:

70.449997

如何在不破坏数据的情况下正确地将数据转换为decimal

1 个答案:

答案 0 :(得分:0)

我会使用mysqldump(或MySQL Workbench也有一个实用程序)来转储表。然后执行ALTER并重新创建它。只是添加精度会引入这样的错误,因为浮点数通常都是不精确的。