使用已存储的数据将SQL字段数据类型varchar更改为float

时间:2014-06-09 12:42:24

标签: sql sql-server alter

我有一个包含大量浮点字段的导入数据库。 当我导入它时,所有浮点字段都转换为字符串,我需要将其转换回来。

我尝试使用alter table来更改数据类型但是我一直收到错误(即使该行为空或为空)。

编辑:服务器已经崩溃,所以我暂时无法收到错误消息。我的DBMS是SQL Server。

2 个答案:

答案 0 :(得分:0)

您可以先在数据类型为float的表中添加一个新字段,然后使用convert函数更新它:

UPDATE @tbl
SET
  num = convert(FLOAT, text)

SELECT *
FROM
  @tbl

答案 1 :(得分:0)

如果所有数据都是数字类型,则可以这样做。 可能有一些数据hv null - 这里没有问题。 可能有一些数据是空白的('')但不是空 - 问题是因为这个。 首先,您进行选择查询以检索所有空白数据 说, 从table1中选择*,其中col ='' 现在用null更新这些行 update table1 set col = null其中col =''

在此之后,我认为您可以轻松地将其转换为浮动

参考文献:error converting data type varchar column to float.