値列にさまざまな情報を格納するテーブルがありますvarchar(max)
このテーブルから情報の一部を抽出し、それを整数に変換して、数値を平均できるようにする必要があります。変換しようとすると問題が発生します。
これは動作しません:
select cast(value as float) as value
from table
これを適切に変換する方法を誰か教えてもらえますか?
値列にさまざまな情報を格納するテーブルがありますvarchar(max)
このテーブルから情報の一部を抽出し、それを整数に変換して、数値を平均できるようにする必要があります。変換しようとすると問題が発生します。
これは動作しません:
select cast(value as float) as value
from table
これを適切に変換する方法を誰か教えてもらえますか?
おそらく問題は、一部の値が数値形式になっていないことです。代わりにこれを試してください:
select (case when isnumeric(value) = 1 then cast(value as float) end)
from table
これにより、すべての数値が float に変換され、残りのフィールドに NULL が設定されます。
問題の原因となっている値を確認したい場合は、次を使用します。
select value
from table
where isnumeric(value) = 0 and value is not null