16.20 - DECIMALタイプのサイズ制限があるアプリケーションでのCASTの使用 - Teradata Vantage NewSQL Engine

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

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

一部のアプリケーションでは、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;