例: ARRAY_SUMを使用した、1-D ARRAYデータ型とテーブルへの問合わせ - 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

次の1-D ARRAYデータ型およびテーブルについて考えてみましょう。

CREATE TYPE item_price AS DECIMAL(7,2) ARRAY[20];
CREATE TABLE inventory (itemkind INTEGER,
                        regular_price item_price,
                        sale_price item_price);

次の問合わせを評価するとき、regular_price配列の各構成要素の値が加算されます。結果の値は2で除算されます。

SELECT ARRAY_SUM(regular_price) / 2 FROM inventory;

次は、メソッドスタイルの構文を使用した同じ問合わせです。

SELECT regular_price.ARRAY_SUM() / 2 FROM inventory;

次の問合わせでは、ARRAY_SUMにより、regular_price配列内の指定した適用範囲内にある各構成要素が加算されます。問合わせからは、regular_price配列内の影響を受ける構成要素の値を加算した総合計を表わす値が返ります。

SELECT ARRAY_SUM(regular_price, NEW arrayVec(5,10))FROM inventory;

次に、同じ問合わせを指定する別の方法を示します。

SELECT ARRAY_SUM(regular_price, 5, 10) FROM inventory;