将 Varchar 转换为浮点 MS SQL

dav*_*est 0 sql-server

我正在尝试将从 varchar 继承的一些数据转换为 float:

SELECT CAST([Column 8] AS Int)    FROM [Sean].[dbo].[ResApr2019]
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

消息 245,级别 16,状态 1,第 2 行 将 varchar 值“14,714.000”转换为数据类型 int 时转换失败。

有什么想法可以解决这个问题吗?

谢谢,

A_S*_*_Sk 5

从文本中删除“,”,尝试将其转换为十进制,然后转换为整数值。

SELECT CONVERT(decimal(11,0), REPLACE('14,714.000', ',', ''))
Run Code Online (Sandbox Code Playgroud)

在你的情况下

SELECT CONVERT(decimal(11,0),REPLACE([Column 8],',','')) FROM [Sean].[dbo].[ResApr2019]
Run Code Online (Sandbox Code Playgroud)

或者

 SELECT CONVERT(float,REPLACE([Column 8],',','')) FROM [Sean].[dbo].[ResApr2019]
Run Code Online (Sandbox Code Playgroud)