【问题标题】:MYSQL Truncated incorrect DOUBLE value: Upon multiplyingMYSQL 截断不正确的 DOUBLE 值:乘以
【发布时间】:2019-10-25 08:07:02
【问题描述】:

我有一个月收入列。我需要得到年收入,所以我尝试将月收入乘以 12。

我已经尝试将其转换为 UNSIGNED 或 CHAR。但我仍然收到相同的警报/错误

查询如下: 例如

monthly=20,000
SELECT monthly*12 from ...

输出应该是240,000。我无法得到那个输出,因此得到那个 mysql 警报/错误:

截断不正确的 DOUBLE 值:“20,000”。

【问题讨论】:

  • 'monthly=20,000' - 这是否意味着每月的数据类型是 text/varchar/char?
  • 小数点与逗号?
  • 我忘了声明数据类型,我的错。它是 varchar。
  • 试试replace(monthly, ',', '')*12
  • 谢谢@Nick。替换功能有效。

标签: mysql sql


【解决方案1】:

如果每月是文本数据类型,则在进行算术运算之前删除逗号

SELECT cast(replace(monthly, ',', '') as decimal(5,2)) * 12 from table

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-07
    • 2017-11-02
    • 2018-06-28
    • 1970-01-01
    相关资源
    最近更新 更多