我在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
?
答案 0 :(得分:0)
我会使用mysqldump
(或MySQL Workbench也有一个实用程序)来转储表。然后执行ALTER
并重新创建它。只是添加精度会引入这样的错误,因为浮点数通常都是不精确的。