Example: Query 2-D ARRAY Data Type and Table Using ARRAY_UPDATE_STRIDE - Teradata Vantage

Teradata® VantageCloud Lake

Deployment
VantageCloud
Edition
Lake
Product
Teradata Vantage
Published
January 2023
Language
English (United States)
Last Update
2024-04-03
dita:mapPath
phg1621910019905.ditamap
dita:ditavalPath
pny1626732985837.ditaval
dita:id
phg1621910019905

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;