17.10 - position(byte[] pattern, long start) - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
July 2021
Content Type
Programming Reference
Publication ID
B035-1147-171K
Language
English (United States)

Retrieves the byte position at which the specified byte array pattern begins within the BLOB value that this Blob object represents. The search for pattern begins at position start.

If the search is successful, position() returns the position at which the pattern appears; otherwise, position returns a value of -1.

Syntax

position(byte[] pattern, long start)

Syntax Elements

pattern
The byte array containing the pattern for which to search.
start
The position at which to begin searching.
The first position is 1.

Exceptions

IF … THEN position() throws an SQLException to …
there is an error accessing the BLOB value indicate a failure while reading LOB data, setting the SQLException fields as follows:
  • SQLState Field = “TS000”
  • vendorCode Field = 7851
the value of the pattern argument is null

-or-

the value of the start argument is less than 1

indicate an invalid argument, setting the SQLException fields as follows:
  • SQLState Field = “22023”
  • vendorCode Field = 7859
the JVM cannot allocate enough memory for the method to search for the specified pattern indicate that available JVM heap memory has run out, setting the SQLException fields as follows:
  • SQLState Field = “TS000”
  • vendorCode Field = 7856