Example: Query a 2-D ARRAY Data Type and Table using ARRAY_UPDATE_STRIDE - Advanced SQL Engine - Teradata Database

SQL Data Types and Literals

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
July 2021
Language
English (United States)
Last Update
2021-07-27
dita:mapPath
tpf1598412463935.ditamap
dita:ditavalPath
tpf1598412463935.ditaval
dita:id
B035-1143
lifecycle
previous
Product Category
Teradata Vantageā„¢

Consider the following 2-D ARRAY data type and table.

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

The following query returns an updated copy of the shot1 array, with every other element updated to the new value.

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

The following query returns an updated copy of the shot1 array, with a subset of the elements updated to the new value, as specified by the scope reference and stride value. The result is that every 5th element beginning with the first element in the scope reference range [1:50][1:50] is updated to the new value. The rest of the elements in the array retain their original values.

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

The following is the same query using method-style syntax.

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