0

net_amountという列があり、244,98のような値が含まれています。そのvarchar列。合計関数を使用して合計しようとすると、244のみが合計され、小数点以下がスキップされます。次のように10進数にキャストしてみました。

select cast(net_amount as decimal) from mytable

これは小数点以下の桁もスキップします...何が間違っているのでしょうか?

ありがとう!

4

1 に答える 1

3

REPLACEを使用して、コンマをドットに置き換えることができます。

SELECT REPLACE('244,98', ',', '.') * 1

または、次のようにCASTを使用できます。

cast(REPLACE(net_amount, ',', '.') as decimal(8,2)) 
于 2013-03-07T09:02:12.313 に答える