ARRAY_UPDATE_STRIDE Usage Notes - 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

ARRAY_UPDATE_STRIDE takes an array expression as an argument and updates all or a subset of the elements in array_expr with the value specified by new_value. The stride argument indicates the number elements to skip between each updated element.

The following rules apply to the ARRAY_UPDATE_STRIDE function:

  • If array_expr is NULL, then the result value is NULL.
  • The value of new_value must evaluate to the same data type as the element type of array_expr or be a data type that can be implicitly converted to the ARRAY element type.
  • If you do not specify scope_reference or array_index, then all the elements in array_expr are updated to the value of new_value.
  • If you specify scope_reference, then only the elements within the scope reference of array_expr are updated to the value of new_value. scope_reference must refer to consecutive elements in the array.
  • If you specify array_index, only the single element specified by array_index is updated to the value of new_value in array_expr and stride_value has no effect.
  • The stride_value argument specifies the number of elements to skip between each element to be updated. For example, if stride_value is 1, every other element within the affected range of elements is updated. The affected range of elements depends on whether scope_reference is specified. For a multidimensional array, the elements are stored in row-major order and traversed and skipped according to stride_value in this order.
  • If an element to be updated contains a NULL, the NULL is replaced with the value of new_value in array_expr.
  • When one or more elements are modified, and there are uninitialized elements in the ARRAY value before the elements to be updated, then ARRAY_UPDATE_STRIDE sets any preceding uninitialized elements to NULL. This behavior is the same as that of a regular SQL UPDATE statement that sets an ARRAY element value.
  • If an element is skipped that was previously uninitialized, that element is updated to NULL.