3

という名前の 2 つのフィールドの合計を取得する必要があるため、文字列の末尾にある不要な文字を削除または置換し(%)、文字列を 10 進数にキャストする必要があります。discount1discount2

私が試した最後の組み合わせは次のとおりです。

replace ((p16.pa_value,'%','')CAST (p16.pa_value AS DECIMAL (3,0))) as discount2,

ステートメントCASTの中にあるので、それは非常に間違っているようですreplace

4

2 に答える 2

6

これを試して:

CAST (replace (p16.pa_value,'%','') AS DECIMAL (3,0)) as discount2
于 2012-11-12T08:14:06.567 に答える
1

OK、なぜ小数の後に3桁があるのか​​わかりません。DECIMAL (3,0)小数に変換する場合は次のようになるはずです:10進数(10;後のゼロの数)-詳細はこちら

これを試して:

(cast(replace(p16.pa_value, '%','')  as decimal (10,2))) as discount
于 2012-11-12T12:43:32.057 に答える