16.20 - 使用上の注意 - Teradata Vantage NewSQL Engine

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

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

算術関数ARRAY_ADD、ARRAY_SUB、ARRAY_MUL、ARRAY_DIV、およびARRAY_MODの場合、ARRAYタイプでは2つの形式をサポートしています。

第1の形式では、左側と右側両方のオペランドが同じARRAYタイプの2つのインスタンスです。

算術演算が対になって、2つの引数内の一致する構成要素のペアそれぞれを1つずつ実行します。オプションの引数scope_referenceが定義されている場合、操作はその適用範囲内の構成要素についてのみ実行されます。scope_referenceの境界外にある構成要素はすべてNULLに設定されます。結果は、入力ARRAY引数と同じデータ型のARRAYで、カーディナリティ(取り込まれた構成要素の数)は最初の入力ARRAY引数と同じです。

第2の形式では、左側または右側のどちらか一方が数値引数タイプのARRAYとなり、右側は左側の構成要素のタイプに割り当てることのできる数値です。算術演算は、算術演算子を持つ右側の値を左側のARRAY引数の各構成要素に適用することで実行します。結果は、入力ARRAY引数と同じタイプのARRAYで、カーディナリティ(取り込まれた構成要素の数)は入力ARRAY引数と同じです。オプションの引数scope_referenceが定義されている場合、操作はその適用範囲内の構成要素についてのみ実行されます。scope_referenceの境界外にある構成要素はすべてNULLに設定されます。

算術関数のどちらの形式でも、ARRAY引数内にNULL構成要素があると、結果のARRAYのその位置にはNULL構成要素が入ります。配列を呼び出す算術演算は、CREATE TYPE文内のオプションのDEFAULT NULL句の影響は受けません。ただし、DEFAULT NULL句を指定せずに作成された配列を比較するときにエラーになる確率は高まります。

ARRAY引数に初期化されていない状態にある構成要素が含まれている場合、エラーが返されます。適用範囲の参照を使用して、初期化されてない構成要素が含まれているARRAYの範囲の参照を回避するか、初期化されていない構成要素をNULLに設定します。これは、OEXTENDメソッドを使用して行なえます。OEXTENDを参照してください。