GetQueryBandValue Procedure | Application Programming Reference | Vantage - 17.10 - GetQueryBandValue - Advanced SQL Engine - Teradata Database

Teradata Vantageā„¢ - Application Programming Reference

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

Returns the value of the specified name in the current query band.

If no matches are found, the return value is an empty string or NULL.

Syntax

The GetQueryBandValue functions are two overloaded functions. One requires the query band string to be passed in; the other uses internal calls to retrieve the query band.

REPLACE FUNCTION SYSLIB.GetQueryBandValue (
  SearchType SMALLINT,
  QBName     TD_ANYTYPE
) RETURNS VARCHAR (257)CHARACTER SET UNICODE
  ...
;
REPLACE FUNCTION SYSLIB.GetQueryBandValue (
  QueryBandIn TD_ANYTYPE,
  SearchType  SMALLINT,
  QBName      TD_ANYTYPE
) RETURNS VARCHAR (257)CHARACTER SET UNICODE
  ...
;

Syntax Elements

SearchType
Search type:
  • 0 = Return the value of the first name-value pair where name is specified by the QBName input argument.

    If the query band contains the name-value pairs for the transaction and session, the function searches the transaction name-value pairs first.

  • 1= Search the transaction name-value pairs in the query band and return the value that corresponds to the name specified by the QBName input parameter.
  • 2 = Search the session name-value pairs in the query band and return the value that corresponds to the name specified by the QBName input parameter.
  • 3 = Search the profile name-value pairs in the query band and return the value that corresponds to the name specified by the QBName input parameter.
QBName
Name in the query band pair to search for.
QueryBandIn
A query band string or NULL.

Usage Notes

You can use these functions to query the DBC.DBQLogTbl table based on the names and values specified in the QueryBand column.

Both functions are created in the SYSLIB database by the DEM DIP script. EXECUTE privileges are granted to PUBLIC by default. For more information, see Requirements for Using the API.

Example: Using GetQueryBandValue to Query the QueryBand Column in QryLogV

This example shows you how to query the DBC.DBQLogTbl table for all Teradata brands specified in the QueryBand column.

SELECT t1.queryband(FORMAT 'X(50)') FROM
  dbc.qrylogv t1
  WHERE GetQueryBandValue(t1.queryband, 0, 'brand') = 'teradata'
    AND username='qbuser' ORDER BY t1.queryid;

Result:

QueryBand
--------------------------------------------------
=T> game=monopoly;brand=teradata;
=T> game=monopoly;brand=teradata;
=T> game=monopoly;brand=teradata;
=T> game=monopoly;brand=teradata;

Example: Using GetQueryBandValue to Query DBQLogTbl (QryLogV)

This example shows how to query the DBC.DBQLogTbl table for all cat names specified in the QueryBand column.

SEL GetQueryBandValue(t1.queryband, 0, 'cat') FROM
  dbc.qrylogv t1 where
     GetQueryBandValue(t1.queryband, 0, 'CAT') IS NOT NULL
     AND username='qbuser' ORDER BY t1.queryid;

Result:

GetQueryBandValue(QueryBand,0,'cat')
------------------------------------------------------------------------
asta
asta
asta
asta
asta
asta
asta
sabella
sabella
sabella
sabella
sabella
sabella
sabella
sabella
sabella
sabella
sabella
sabella