1

我有一个表,将不同的信息存储到一个值列中varchar(max)

我需要能够从该表中提取一些信息,将其转换为整数并对数字进行平均。我在尝试转换时遇到了问题。

这不起作用:

select cast(value as float) as value
from table

谁能告诉我如何正确转换它?

4

1 回答 1

5

据推测,问题在于某些值不是数字格式。试试这个:

select (case when isnumeric(value) = 1 then cast(value as float) end)
from table

这会将所有数字转换为浮点数,并将 NULL 放在其余字段中。

如果您想查看导致问题的值,请使用以下命令:

select value
from table
where isnumeric(value) = 0 and value is not null
于 2013-01-08T18:54:54.447 回答