CAST TIMESTAMP-to-DATE Conversion | Teradata Vantage - 17.10 - TIMESTAMP-to-DATE Conversion with CAST - Advanced SQL Engine - Teradata Database

Teradata Vantageā„¢ - Data Types and Literals

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

ANSI Compliance

This statement is ANSI SQL:2011 compliant.

As an extension to ANSI, CAST permits the use of DATE data attribute phrases, such as FORMAT that enables an alternative format.

The AT clause is ANSI SQL:2011 compliant.

As an extension to ANSI, the AT clause is supported when using CAST to convert from TIMESTAMP to DATE. In addition, you can specify the time zone displacement using additional expressions besides an INTERVAL expression.

TIMESTAMP (without time zone) is not ANSI SQL:2011 compliant. Vantage internally converts a TIMESTAMP value to UTC based on the current session time zone or on a specified time zone.

Syntax

CAST (
  timestamp_expression AS DATE
  
  [ WITH TIME ZONE ]
  
  [ AT { LOCAL | SOURCE [ TIME ZONE ] |
         [ TIME ZONE ] { expression | time_zone_string }
       }
  ]
  
  [ data_attribute [...] ]
)

Syntax Elements

timestamp_expression

The timestamp expression to be converted.

AT LOCAL

Use the time zone displacement based on the current session time zone.

AT SOURCE [TIME ZONE]
Use the time zone associated with timestamp_expression when:
  • AT SOURCE TIME ZONE is specified.
  • AT SOURCE is specified without TIME ZONE and there is no column named source in the scope.

Otherwise, if AT SOURCE is specified without TIME ZONE and a column named source exists, then SOURCE references this column, and the value of the column is used as the time zone displacement for the CAST. If needed, the column value is implicitly converted to type INTERVAL HOUR(2) TO MINUTE.

AT [TIME ZONE] expression

Use the time zone displacement defined by expression.

The data type of expression should be INTERVAL HOUR(2) TO MINUTE or it must be a data type that can be implicitly converted to INTERVAL HOUR(2) TO MINUTE.

AT [TIME ZONE] time_zone_string
time_zone_string determines the time zone displacement.
data_attribute
One of the following data attributes:
  • FORMAT
  • NAMED
  • TITLE