如何在SQL Server中将varchar转换为float?

时间:2014-04-04 16:27:38

标签: sql-server sql-server-2008-r2

我有第1列是varchar而第2列是浮点数。 我想将第1列的内容复制到第2列,以查看列1看起来像数字的所有实例。

这是我的代码:

UPDATE [TestDB].[dbo].data
SET [COLUMN 2]=CAST( [Column 1] AS FLOAT)
WHERE ISNUMERIC ([COLUMN 1]) = 1

我正在使用SQL Server 2008 R2。该代码应该有效吗?

2 个答案:

答案 0 :(得分:1)

UPDATE [TestDB].[dbo].data
SET [COLUMN 2]=Case When IsNumeric([Column 1]) = 1 Then CAST( [Column 1] AS FLOAT) End

答案 1 :(得分:0)

尝试这样做

case when isnumeric([Column 1])=1 
         then cast([Column 1] AS FLOAT)
         else 0
end
  

ISNUMERIC(expression)确定表达式是否有效   数字类型。

ISNUMERIC