ウィンドウ集約関数の結果のデータ型と書式は以下のとおりです。
関数 | 結果のタイプ | 書式 |
---|---|---|
AVG(x) xが文字型の場合 |
FLOAT | FLOATのデフォルト書式 |
AVG(x) xが数値、DATE、またはINTERVAL型の場合 |
FLOAT | オペランドxと同じ書式 |
xが文字型の場合 |
FLOAT | FLOATのデフォルト書式 |
xが以下のいずれかの型の場合
|
オペランドxと同じデータ型 | オペランドxのデータ型のデフォルトの書式 |
REGR_AVGX(y,x) REGR_AVGY(y, x) xはUDT |
UDTの暗黙キャスト先のデータ型のデフォルト書式。 | |
COUNT(x) COUNT(*) REGR_COUNT(x ,y) トランザクション モードがANSIの場合 |
DBSControl内のMaxDecimalの値
テーブルでは、INTEGERの範囲を超えることがあるので、ANSI トランザクション モードでは、DECIMALが使用されます。 |
|
COUNT(x) COUNT(*) REGR_COUNT(x,y) トランザクション モードが Teradataの場合 |
INTEGER Teradata トランザクション モードでは、退行問題を避けるために、INTEGERが使用されます。 COUNTウィンドウ集約関数の最終結果はキャストできます。ただし、COUNT集約関数のようにウィンドウ関数の計算の一部としてキャストが使用されることはありません。そのため、計算中に発生するおそれのある数値のオーバーフロー エラーを回避するためにキャストを使用することはできません。
|
INTEGERのデフォルト書式 |
MAX(x), MIN(x) | オペランドxと同じデータ型 | オペランドxと同じ書式 |
SUM(x) xが文字型の場合 |
オペランドxと同じ。 | FLOATのデフォルト書式 |
SUM(x) xがDECIMAL(n,m)型の場合 |
DECIMAL(p,m)、このときpは次のルールに従って決定されます。 DBSControl内のMaxDecimalが0または15である場合
DBSCControl内のMaxDecimalが18である場合
DBSControlのMaxDecimalが38でnが任意の値である場合、p = 38。 |
DECIMALのデフォルト書式 |
SUM(x) xがDECIMAL以外の数値型の場合 |
オペランドxと同じ。 | オペランドのデータ型のデフォルトの書式 |