如何通过将varchar转换为float来求和varchar数据类型

Suj*_*ibi 2 mysql database

varchar我的表格“ tbl1”中的数据类型为“金额”列。现在,我必须计算该列的总量(我知道可以为我的表修改列,但是我必须遵循一些过程来将其保持为' varchar',但是结果必须以float数据类型返回。

我将以下查询写为:

Select sum(amount) from tbl1;
Run Code Online (Sandbox Code Playgroud)

它给出一个错误:

将varchar数据类型转换为int时转换失败

所以也尝试了这个查询:

select sum(convert(float, amount)) from tbl1;
Run Code Online (Sandbox Code Playgroud)

但我有错误。

Rah*_*thi 7

尝试这样:

SELECT sum(CAST(amount AS UNSIGNED)) FROM tbl1
Run Code Online (Sandbox Code Playgroud)

请注意,UNSIGNEDSIGNED用于整数。如果您的数据可能包含十进制值,那么您可以尝试这样使用decimal

SELECT sum(CAST(amount AS DECIMAL(10,2))) FROM tbl1
Run Code Online (Sandbox Code Playgroud)