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