将值从字符转换为货币时出错

Error in converting value from char to money(将值从字符转换为货币时出错)
本文介绍了将值从字符转换为货币时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我有一个表 tableA,其中包含数据类型 varchar 的列 [Amount].

I have a table tableA that contains a column [Amount] of datatype varchar.

它具有如下值:

47980.89
333652.61
332388.84
374664.48
368715.26
371689.33
371689.33
368715.26
374664.48 

现在,当我运行查询时,它运行成功,但每次都给出不同的输出

Now when I run my query, it runs successfully but gives different output each time

SELECT  
   sum(convert(float, Amount))
FROM tableA   

当我尝试其他语句时,出现错误

and when I try this other statement, I get an error

无法将字符值转换为货币.char 值的语法不正确.

Cannot convert a char value to money. The char value has incorrect syntax.

代码:

SELECT  
    sum(convert(money, Amount))
FROM tableA

我想要列的总和 [Amount]

推荐答案

应该这样做:

select Sum(isnull(cast(amount as float),0)) from #t

或者你需要它是货币数据类型

or you need it to be money data-type

select Sum(isnull(cast(amount as money),0)) from #t

这篇关于将值从字符转换为货币时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Dynamically group by with quot;Group Headerquot;(使用“组头动态分组)
How to retrieve leaf path in parent-child table in SQL Server with root ID?(如何使用根 ID 在 SQL Server 中的父子表中检索叶路径?)
Tsql union in while loop(while循环中的Tsql联合)
Pass a column as parameter to dateadd in SQL Server(将列作为参数传递给 SQL Server 中的 dateadd)
Is it possible to convert rows to a variable number of columns in T-SQL?(是否可以在 T-SQL 中将行转换为可变数量的列?)
Swap values between two rows of data(在两行数据之间交换值)