16.20 - TIME - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL External Routine Programming

Product
Advanced SQL Engine
Teradata Database
Release Number
16.20
Release Date
April 2020
Content Type
Programming Reference
Publication ID
B035-1147-162K
Language
English (United States)

C Data Type Definition

typedef struct ANSI_Time
{
    DECIMAL4 seconds;
    BYTEINT  hour;
    BYTEINT  minute;
} ANSI_Time;

Usage

The seconds member is laid out as a DECIMAL(8,6) numeric field, which can represent up to two digits of whole seconds and six digits of fractional seconds.

The range of values defined for the SQL TIME type applies to the input arguments and return argument of a function. A value outside the valid range of values produces an error.

All TIME values passed to a UDF are in Universal Coordinated Time (UTC), and all TIME values that are returned from a UDF must be in UTC.

For details on the TIME type, see Teradata Vantage™ - Data Types and Literals, B035-1143.

Here is an example using TIME in a UDF definition and C function declaration.

SQL Function Definition Equivalent C Function Declaration
CREATE FUNCTION F1 (
  A TIME )
RETURNS TIME
 ...;
void f1( ANSI_Time *a,
         ANSI_Time *result,
   ... )
{  ... }