我的表“tbl1”中有一列“金额”,它的数据类型为“varchar
”。现在我必须计算该列的总量(我知道我可以修改我的表的列,但我必须遵循一些程序将其保留为 'varchar
' 。但结果必须返回 float
数据类型。
我将以下查询写为:
Select sum(amount) from tbl1;
它给出了一个错误:
Conversion failed when converting varchar datatype into int
所以也尝试了这个查询:
select sum(convert(float, amount)) from tbl1;
但是我得到了错误。
最佳答案
像这样尝试:
SELECT sum(CAST(amount AS UNSIGNED)) FROM tbl1
请注意,UNSIGNED
和SIGNED
用于整数。如果您的数据可能包含十进制值,那么您可以改为尝试使用 decimal
,如下所示:
SELECT sum(CAST(amount AS DECIMAL(10,2))) FROM tbl1
关于mysql - 如何通过将 varchar 转换为 float 来求和 varchar 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32476417/