Sql server 尝试将字符串列转换为浮点列时出错

Sql server 尝试将字符串列转换为浮点列时出错,sql-server,string,type-conversion,Sql Server,String,Type Conversion,我有一张a列的桌子。 我想将数据类型从string更改为float。 我的A列如下所示: A 143 1,440 19,630 12 。。。 当我尝试运行代码时: ALTER TABLE [Table1] ALTER COLUMN [A] FLOAT 我总是会遇到这样的错误: Error converting data type varchar to float. 很明显,varchar值没有转换成float。由于,不允许在int、float、decimal类型值中使用,因此首先需要替换,

我有一张a列的桌子。 我想将数据类型从string更改为float。 我的A列如下所示:

A
143
1,440
19,630
12
。。。 当我尝试运行代码时:

ALTER TABLE [Table1]
ALTER COLUMN [A] FLOAT
我总是会遇到这样的错误:

Error converting data type varchar to float.

很明显,
varchar
值没有转换成
float
。由于
不允许在
int、float、decimal
类型值中使用,因此首先需要替换

你可以试试这个

  update table set A = Replace( A, ',', '' )

无论哪种情况更适合你

之后,转换您的列

  ALTER TABLE [Table1]
  ALTER COLUMN [A] FLOAT

数字没有逗号。使用
REPLACE
删除第一个。sql Server使用点
而不是逗号
表示浮点数,因此必须先替换这些浮点数
  ALTER TABLE [Table1]
  ALTER COLUMN [A] FLOAT