変換時の切り捨ておよび端数処理 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/zsn1556242031050.ditamap
dita:ditavalPath
ja-JP/zsn1556242031050.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

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 エラー