我有一个双精度值表,我需要插入从具有数字含义的字符串计算的新值。
MySQL似乎不允许这样的转换:
select cast('3.33' as double);
(误差)
select cast('3.33' as decimal(3,2));
(有效,但不是我需要的。)
答案 0 :(得分:10)
解决方法:
select '3.33' + 0.0;
答案 1 :(得分:0)
MySQL不允许强制转换为double。如果您担心小数点右侧的数字,请使用更高精度的小数,如十进制(30,30)。另一个解决方案是在代码级别进行计算,然后直接在mysql中插入最终的double值。