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

DECIMAL/NUMERICのBIGINT、INTEGER、BYTEINT、またはSMALLINTへの変換は、小数部分を切り捨てます。DECIMALへの変換は、四捨五入された結果になります。範囲を超えた場合は、操作が失敗することがあります。

FLOAT/REAL/DOUBLE PRECISIONへの変換では、使用可能な最近似値に端数処理(丸め)されます。小数や、9,007,199,254,740,992よりも大きな数は、どちらも正確に表現できる保証はありません。そのため、表現可能な最近似値が選択されます。最近似値と見なされる2つの表現可能な値があるときには、最小有効ビットが0で表わされる値が選択されます。例えば、0.1をFLOAT列に格納すると、その値はわずかに大きな値に丸められます(0.1000000000000000055511151231257827021181583404541015625)。

切り上げ/切り捨ての詳細については、DECIMAL/NUMERICデータ型を参照してください。

数値変換の例を、いくつか示します。

変換後 結果
20000.99 INTEGER 20000
20000.99 DECIMAL(6,1) 20001.0
20000.99 DECIMAL(4, 1) エラー
200000 SMALLINT エラー