0
ハイブで科学的表記法の数値をDecimalにキャストしたいが、間違った出力が出ている。私が間違っているところ..キャストハイブの科学的数値から小数点へ
以下はテストするための私のクエリです。
select cast(-1.36666E2 as decimal(6,1))
私は出力が-1.36666であることを期待しています。しかし、私は得た-136.7
ハイブで科学的表記法の数値をDecimalにキャストしたいが、間違った出力が出ている。私が間違っているところ..キャストハイブの科学的数値から小数点へ
以下はテストするための私のクエリです。
select cast(-1.36666E2 as decimal(6,1))
私は出力が-1.36666であることを期待しています。しかし、私は得た-136.7
DECIMAL(精度、スケール)はデータ型です。
精度は数値の桁数です。 Scaleは、数値の小数点以下の桁数です。例えば
は、番号136.7は4の精度と1 あなたが1.36666を持っているのであれば、精度が6のスケールと
select cast(-1.36666E2 as decimal(6,3))
-1.36666E2 5
のスケール-1.36666×10れる有します^ 2。それは-136.666を返すでしょう。入力に対して-1.36666を取得しません-1.36666E2
出力が正しいです。 -1.36666を期待したら、E2を調整してください – Valli
私の精度が間違っているかもしれません。トリミングなしには何か方法はありますか? –
どちらが間違っていますか? -1.36666E2の値は-136.66 – Valli