【问题标题】:Convert string to double (NOT decimal)将字符串转换为双精度(非十进制)
【发布时间】:2015-06-14 21:20:57
【问题描述】:

我有一个双精度值表,我需要插入从具有数字含义的字符串计算出来的新值。

MySQL 似乎不允许这样的转换:

select cast('3.33' as double);

(错误)

select cast('3.33' as decimal(3,2));

(有效,但这不是我需要的)。

【问题讨论】:

    标签: mysql casting double


    【解决方案1】:

    解决方法:

    select '3.33' + 0.0;
    

    【讨论】:

      【解决方案2】:

      MySQL 不允许转换为加倍。如果您担心小数点右侧的数字,请使用精度更高的小数,例如小数(30,30)。另一种解决方案是在代码级别进行计算,然后直接在mysql中插入最终的double值。

      【讨论】:

      • 问题是我需要将值作为浮点数才能插入给定的表中,这是无法更改的。
      • 这不是问题的真正答案..您应该对问题发表评论...
      猜你喜欢
      • 2014-05-05
      • 1970-01-01
      • 1970-01-01
      • 2019-08-13
      • 2019-08-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      相关资源
      最近更新 更多