MySQL中不精确的乘法文本/整数

时间:2019-04-05 09:25:04

标签: mysql

我有一个表,其中包含一个以文本(VARCHAR)形式存储的小数(模式<4位数字>。<10位数字>)

`COST_VALUE` varchar(50) DEFAULT NULL,

当我执行以下脚本时,此值的乘积转换为DOUBLE乘以COUNT,如下所示:

Select ... count(OTHER_ATTR) as QUANTITY, record.COST_VALUE as COST, CAST(techno.COST_VALUE AS DOUBLE) * count(OTHER_ATTR)) as TOTAL

在某些领域,我得到了一个错误的结果(实际上是一个不精确的结果):

enter image description here

简单的乘法也不精确:

record.COST_VALUE * count(OTHER_ATTR)) as TOTAL

DECIMAL(CAST(techno.COST_VALUE AS DECIMAL)返回结果为整数(不是分数)

enter image description here

如何在不使用CAST(techno.COST_VALUE AS DOUBLE(10,2))之类的有限值进行转换的情况下获得精确结果?

谢谢!

0 个答案:

没有答案