使用上の注意 - Advanced SQL Engine - Teradata Database

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

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/tpf1598412463935.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

算術関数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を参照してください。