当前位置: 首页 > 知识库问答 >
问题:

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

张德佑
2023-03-14

我的表'TBL1'中的'varchar'数据类型中有一列'amount'。现在我必须计算该列的总量(我知道我可以修改表的列,但我必须遵循一些过程来保持它为'varchar'。但是结果必须在floatdatatype中返回。

Select sum(amount) from tbl1;
select sum(convert(float, amount)) from tbl1;

但我搞错了。

共有1个答案

邢起运
2023-03-14

试着这样做:

SELECT sum(CAST(amount AS UNSIGNED)) FROM tbl1

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

SELECT sum(CAST(amount AS DECIMAL(10,2))) FROM tbl1
 类似资料:
  • 问题内容: 在SO上进行了搜索和搜索,无法弄清楚 尝试将每个字段作为FLOAT进行铸造都无济于事,转换没有给我任何进一步的帮助。 如何获取以下case子句以返回THEN部分中所述的值? 错误:消息8114,级别16,状态5,行1将数据类型varchar转换为float时出错。 我的SQL查询的错误部分: average_days_pay = float terms_code = char 问题答案

  • 问题内容: 我正在做这个 它给了我这个 但是我想要这个 请帮忙。 问题答案: 首先将其转换为十进制, SQLFiddle演示

  • 问题内容: 我需要将变量中的值转换为格式化为格式的变量(无时间部分)。 我怎么做? 问题答案: 使用Microsoft Sql Server:

  • 问题内容: 我试图在我的数字列中附加一些alphabt来获取记录。但即时通讯收到错误,我尝试了强制转换和转换功能。 例如 这里StandardCost是一个数字字段,但是当我获取记录时遇到错误,请看看。 问题答案: 我认为应该 或者

  • 有这样的错误: [42000][257]从数据类型“NUMERIC”到“VARCHAR”的隐式转换 [42000][257]从数据类型“INT”到“VARCHAR”的隐式转换是

  • 问题内容: 我在mySQL 5.1中有一个数据类型的日期列。如何将其转换为DATE? 这是我到目前为止所拥有的- 得到这个 错误-#1064-您的SQL语法有错误;查看与您的MySQL服务器版本相对应的手册以获取正确的语法,以在’FROM 7 FOR 4附近使用) 请帮忙。 问题答案: 您可以使用MySQL的功能 尽管我怀疑您使用Unix时间戳会更轻松