我有第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。该代码应该有效吗?
答案 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)确定表达式是否有效 数字类型。