Sql server 如何在SQL server中将varchar转换为float?
第1列是varchar,第2列是float。 我想将第1列的内容复制到第2列,以用于所有看起来第1列有数字的实例 这是我的密码:Sql server 如何在SQL server中将varchar转换为float?,sql-server,sql-server-2008-r2,Sql Server,Sql Server 2008 R2,第1列是varchar,第2列是float。 我想将第1列的内容复制到第2列,以用于所有看起来第1列有数字的实例 这是我的密码: UPDATE [TestDB].[dbo].data SET [COLUMN 2]=CAST( [Column 1] AS FLOAT) WHERE ISNUMERIC ([COLUMN 1]) = 1 我正在使用SQLServer2008R2。这段代码行得通吗?试着这样做 UPDATE [TestDB].[dbo].data SET [COLUMN 2]=Case
UPDATE [TestDB].[dbo].data
SET [COLUMN 2]=CAST( [Column 1] AS FLOAT)
WHERE ISNUMERIC ([COLUMN 1]) = 1
我正在使用SQLServer2008R2。这段代码行得通吗?试着这样做
UPDATE [TestDB].[dbo].data
SET [COLUMN 2]=Case When IsNumeric([Column 1]) = 1 Then CAST( [Column 1] AS FLOAT) End
case when isnumeric([Column 1])=1
then cast([Column 1] AS FLOAT)
else 0
end
ISNUMERIC(表达式)确定表达式是否有效
数字类型
请看这里失败的价值是什么?汤姆,我不同意。我正在寻找它可能出现的情况…我添加了ISNUMERIC..@phan它不一定会工作。试试这个:
SELECT ISNUMERIC('-')
,现在试试SELECT CAST('-'AS FLOAT)
我见过类似的情况,在where子句之前执行CAST,这样会出错。G Mastros,谢谢,我刚刚添加了ISNUMERIC行,你比我快了一步。