【发布时间】:2015-06-14 21:20:57
【问题描述】:
我有一个双精度值表,我需要插入从具有数字含义的字符串计算出来的新值。
MySQL 似乎不允许这样的转换:
select cast('3.33' as double);
(错误)
select cast('3.33' as decimal(3,2));
(有效,但这不是我需要的)。
【问题讨论】:
我有一个双精度值表,我需要插入从具有数字含义的字符串计算出来的新值。
MySQL 似乎不允许这样的转换:
select cast('3.33' as double);
(错误)
select cast('3.33' as decimal(3,2));
(有效,但这不是我需要的)。
【问题讨论】:
解决方法:
select '3.33' + 0.0;
【讨论】:
MySQL 不允许转换为加倍。如果您担心小数点右侧的数字,请使用精度更高的小数,例如小数(30,30)。另一种解决方案是在代码级别进行计算,然后直接在mysql中插入最终的double值。
【讨论】: