将字符串转换为双精度(非十进制)

Convert string to double (NOT decimal)

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

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

select cast('3.33' as double);

(错误)

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

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

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

解决方法:

select '3.33' + 0.0;