INTEGER値またはDECIMAL値の計算 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
ft:locale
ja-JP
ft:lastEdition
2021-09-23
dita:mapPath
ja-JP/djk1612415574830.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1145
Product Category
Software
Teradata Vantage

DECIMALまたはINTEGER値のAVGは、個々の値が非常に大きい場合、または値の数が多い場合には、オーバーフローになる可能性があります。

オーバーフローが発生した場合には、次のように、DECIMALまたはINTEGER値をREALに変換するCAST関数を入れてAVGの呼び出しを変更します。

   AVG(CAST(value AS REAL) )

平均をとる前に値をREALとしてキャストすると、多少精度を欠くことになります。

結果のタイプは、どちらの場合もREALになるため、CASTを行なっても多少精度が悪くなるだけでその他の点においては結果は変わりません。

xが整数である場合には、AVGは小数値を表示しません。小数値は、値をDECIMALとしてキャストすることによって得られます。例えば、次のDECIMALへのCASTを使用します。

   CAST(AVG(value) AS DECIMAL(9,2))