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

これにより、すべての数値が float に変換され、残りのフィールドに NULL が設定されます。

問題の原因となっている値を確認したい場合は、次を使用します。

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