例: ARRAY_UPDATE_STRIDEを使用した、2-D ARRAYデータ型とテーブルへの問合わせ - Teradata Database - Teradata Vantage NewSQL Engine - ARRAY_UPDATE_STRIDEの例: ARRAY_UPDATE_STRIDEを使用した、2-D ARRAYデータ型とテーブルへの問合わせ。

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/xnq1529717274657.ditamap
dita:ditavalPath
ja-JP/xnq1529717274657.ditaval
dita:id
B035-1143
Product Category
Software
Teradata Vantage

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

CREATE TYPE shot_ary AS INTEGER ARRAY[1:50][1:50];
CREATE TABLE seismic_data (
   id INTEGER,
   shot1 shot_ary,
   shot2 shot_ary);

次の問合わせは、構成要素が1つ置きに新しい値に更新されたshot1配列の更新後のコピーを返します。

SELECT ARRAY_UPDATE_STRIDE(shot1, 0, 1)
FROM seismic_data;

次の問合わせは、適用範囲の参照とSTRIDE値で指定したように、構成要素のサブセットが新しい値に更新されたshort1配列の更新後のコピーを返します。その結果、適用範囲の参照範囲[1:50][1:50]内にある最初の構成要素から始めて、5つ目ごとの構成要素が新しい値に更新されます。配列内の残りの構成要素は元の値のままです。

SELECT ARRAY_UPDATE_STRIDE(shot1, 0, 5, NEW arrayVec(1,1), 
   NEW arrayVec(50,50))
FROM seismic_data;

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

SELECT shot1.ARRAY_UPDATE_STRIDE (0, 5, NEW arrayVec(1,1), 
   NEW arrayVec(50,50))
FROM seismic_data;