我正在使用SQL Server2017。我需要将名为Financial Impact的列中的数据类型从VARCHAR
转换为FLOAT
。我尝试了几种在网上找到的解决方案,但都无济于事。我不断收到一条错误消息:
信息8114,第16级,状态5,第5行
将数据类型varchar转换为float时出错。
查询:
SELECT
SUM(CAST(REPLACE([Financial Impact],',','')
FROM
TableName
WHERE
ISNUMERIC([Financial Impact]) > 0
GROUP BY
[Main Location Number]
答案 0 :(得分:0)
请确保表的[Financial Impact]
列中只能包含数字值,或者varchar()
数据类型中只能包含零
如果列具有任何blank
值或NULL
值,则必须使用CASH ... WHEN ... THEN... END
或ISDBNULL()
否则,您可以使用以下查询
select sum (convert(float, [Financial Impact])) as myData, [Grpcolumn] from @ActivityLog
where convert(float, [Financial Impact]) > 0
group by [Grpcolumn]