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

标签 mysql database

我的表“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

请注意,UNSIGNEDSIGNED 用于整数。如果您的数据可能包含十进制值,那么您可以改为尝试使用 decimal,如下所示:

SELECT sum(CAST(amount AS DECIMAL(10,2))) FROM tbl1

关于mysql - 如何通过将 varchar 转换为 float 来求和 varchar 数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32476417/

相关文章:

java - 更新 JPA 表上的 UniqueConstrains

mysql - 我无法在 Virtual box 的 CDH 4.7 中启用 Mysql

mysql - 此更新查询尝试使用 concat() fun 更新表有什么问题

sql - 不使用 SELECT * 的假设性能 yield

android - 更新 sqlite 数据库版本?

mysql - 如何检查字段是否有其他字段的串联字符串?

mysql - 我应该使用哪些数据类型?

c# - 无法从kubernetes中的c#前端连接到Mysql服务

mysql - 仅使用主键和外键获取值

php - 检查现有数据条目时的资源 ID #6