GetQueryBandValueSF

Teradata® Database Application Programming Reference

brand
Software
prodname
Teradata Database
vrm_release
16.20
category
Programming Reference
featnum
B035-1090-162K

Purpose

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

Definition

CREATE FUNCTION TD_SYSFNLIB.GetQueryBandValueSF(
    QueryBandIn TD_ANYTYPE,
    SearchType  SMALLINT,
    QBName      TD_ANYTYPE)
 RETURNS VARCHAR(257) CHARACTER SET UNICODE
          .
          .
          .
;

CREATE FUNCTION TD_SYSFNLIB.GetQueryBandValueSF(
    SearchType  SMALLINT,
    QBName      TD_ANYTYPE)
 RETURNS VARCHAR(257) CHARACTER SET UNICODE
          .
          .
          .
;

Input Arguments

Input Argument Description
QueryBandIn A query band string or NULL.
SearchType

A numeric argument 0-3 specifying which query band type to search for the name.

0 = Return the value of the first name-value pair where name is specified by the QBName input argument. If the query band contains 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 argument.

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 argument.

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. The function returns the value in the name-value pair. A query band name is a maximum of 128 characters.

Usage Notes

The GetQueryBandValueSF function provides similar functionality to the GetQueryBandValue function. For more information about this interface, see GetQueryBandValue.

The GetQueryBandValueSF 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.

This function allows NULL input argument and return values.

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

Return Value

This function returns the value of the specified name in the query band or NULL. If no matches are found, the return value is an empty string or NULL.

Example: Using GetQueryBandValueSF to Query 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.dbqlogtbl t1
  WHERE GetQueryBandValueSF(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 GetQueryBandValueSF to Query DBQLogTbl (QryLogV)

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

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

Result:

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