DECIMALタイプのサイズ制限があるアプリケーションでのCASTの使用 - 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タイプが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;