DECIMALタイプのサイズ制限があるアプリケーションでのCASTの使用 - Teradata Database - Teradata Vantage NewSQL Engine - 数値から数値への変換。

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xnq1529717274657.ditamap
dita:ditavalPath
ja-JP/xnq1529717274657.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

一部のアプリケーションでは、DECIMALタイプが15桁以下にならなければなりません。

こうした要件を持つアプリケーションが15桁を上回るDECIMALの列にアクセスしたり、15桁を上回るDECIMALの結果を生じる可能性のある式を使用しなければならなくなることがあります。DECIMAL型サイズの要件を満たすには、CASTを使用してDECIMAL型を15または15未満の桁に変換します。

例えば、次のような式を考慮してみます。A、B、Cは、DECIMAL(8,2)として定義された列です。

SELECT (A*B)/C FROM table1;

結果値は15桁を下回る可能性がありますが、A*Bは最大18桁になります。

結果が必ず16桁を下回るようにするには、CASTを使用します。

SELECT CAST ((A*B)/C AS DECIMAL(15,2)) FROM table1;