16.20 - 例: 浮動小数点値の比較 - Teradata Vantage NewSQL Engine

Teradata Vantage™ データ タイプおよびリテラル

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1143-162K-JPN

浮動小数点値が関係する計算では、予想外の結果が出ることがあります。浮動小数点の計算を実行して、その結果を何らかの期待値と比較すると、意図した結果になる可能性は非常に低くなります。例: 浮動小数点演算の非結合性の結果を考えてみましょう。

浮動小数点値の計算結果を比較する代わりに、出力されたエラーを見て、求めた値より結果が大きいか小さいかを確認します。次に示す例では、期待する結果を得るためには、どのようにして例: 浮動小数点演算の非結合性の文を記述し直すかを示します。

SELECT i, SUM(a) as sum_a, SUM(b) as sum_b
FROM t1
GROUP BY i
HAVING ABS(sum_a - sum_b) > 1E-10;