17.10 - 例: 丸め - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1143-171K-JPN
Language
日本語 (日本)

次のSELECT文は、48と48を返します。

SELECT 47.5(FORMAT 'zzzz'), 48.5(FORMAT('zzzz')) ;

FORMAT句は、数値の四捨五入を行なうことができます。例えば、次の文を考えてみます。

SELECT 1.3451 (FORMAT 'zz.z');

FORMAT句が1.3451に働き、1.3を返します。

SELECT 13451 / 10000.000

1.345が返されます。

SELECT 13451 / 10000.000 (FORMAT 'zz.z');

算術式が最初に評価され(1.345が生じる)、次にFORMAT句が適用されて、1.3が返されます。

SELECT 13451 / 10000.00 (FORMAT 'zz.z');

「四捨五入」は2回行なわれることに注意する必要があります。最初は式の評価時に1.35へ、次にFORMAT文の適用の結果として1.4への四捨五入が行なわれます。

このような二重の「四捨五入」を避けるために、算術式の精度を、FORMAT句の精度より小数で2桁分多くとっておいてください。