変数データを含む varchar 型のフィールドを、フィールドからの数学演算のサンプル データ (引用符を除く) に使用できるデータ型に変換するエレガントな方法を探しています。
''
'abc'
'23'
'23.2'
このメソッドはすべてに対して機能し、最初と 2 番目の値は 0 を返し、SQL Server エラーをスローしないようにする必要があります。
変数データを含む varchar 型のフィールドを、フィールドからの数学演算のサンプル データ (引用符を除く) に使用できるデータ型に変換するエレガントな方法を探しています。
''
'abc'
'23'
'23.2'
このメソッドはすべてに対して機能し、最初と 2 番目の値は 0 を返し、SQL Server エラーをスローしないようにする必要があります。
これを試して:
SELECT CASE WHEN IsNumeric(YourColumn) = 0 THEN
0
ELSE
CAST(YourColumn AS decimal(18, 2))
END
宛先のデータ型を調整する必要があります。デモ用に decimal(18, 2) を選択しました。
SELECT CASE IsNumeric(mycol) WHEN 1 THEN CAST(mycol AS FLOAT) ELSE 0 END
FROM mytable
変換したい場合は、UPDATE
代わりに使用する必要がありますSELECT
UPDATE Table
SET Col1 = CAST(Col1 As Decimal(18,2))