SQLを使用してパーセンテージ計算を取得しようとすると、異なる結果が得られます。
ROUND( 100 * ( Col2 / ( Col1 + Col2)))
出力
col1 col2 colR
----- ----- ------
150 51 34
-400.11 -160.04 40
2つの負の値を除算すると、29ではなく40になります。クロスチェックするために、このクエリを作成しました。
select round( 100* ( -160.04/-560.15 ) ) from dual;
そしてそれは私が29を得る完璧に動作します。
私の質問は:
- 負の値を伴うようにクエリを変更するにはどうすればよいですか。
- このクエリの何が問題になっていますか、なぜOracleが適切にクエリを実行できないのですか。
編集:
悪いことに、タイプミスをしてこの結論に達しました。この質問を閉じるにはどうすればよいですか?