将字符串转换为double(非十进制)

时间:2015-04-09 13:21:20

标签: mysql casting double

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

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

select cast('3.33' as double);

(误差)

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

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

2 个答案:

答案 0 :(得分:10)

解决方法:

select '3.33' + 0.0;

答案 1 :(得分:0)

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