TIMESTAMP-to-DATE Conversion Example 3 - Teradata Vantage

Teradata® VantageCloud Lake

Deployment
VantageCloud
Edition
Lake
Product
Teradata Vantage
Published
January 2023
ft:locale
en-US
ft:lastEdition
2024-12-11
dita:mapPath
phg1621910019905.ditamap
dita:ditavalPath
pny1626732985837.ditaval
dita:id
phg1621910019905

Consider the following statements:

SET TIME ZONE INTERVAL '01:00' HOUR TO MINUTE;
SELECT CAST(TIMESTAMP '2008-06-02 04:30:00+09:00' 
   AS DATE AT SOURCE TIME ZONE);
SELECT TIMESTAMP '2008-06-01 20:30:00+01:00' 
   AT TIME ZONE INTERVAL '09' HOUR (DATE, AT SOURCE);
SELECT TIMESTAMP '2008-06-01 20:30:00' (DATE, AT +9);

These SELECT statements return the date for time zone displacement, INTERVAL '09:00' HOUR TO MINUTE ('08/06/02'). Without an AT clause or with an AT LOCAL clause, these statements return '08/06/01' for the current session time zone displacement, INTERVAL '01:00' HOUR TO MINUTE.

The following shows the results of the SELECT statements if the AT clause was not specified:

SET TIME ZONE INTERVAL '01:00' HOUR TO MINUTE;
SELECT CAST(TIMESTAMP '2008-06-02 04:30:00+09:00' AS DATE);
2008-06-02 04:30:00+09:00
-------------------------
                 08/06/01
SELECT TIMESTAMP '2008-06-01 20:30:00+01:00'
   AT TIME ZONE INTERVAL '09:00' HOUR TO MINUTE;
2008-06-01 20:30:00+01:00 AT TIME ZONE INTERVAL  9:00 HOUR TO MINUTE
--------------------------------------------------------------------
                                           2008-06-02 04:30:00+09:00
SELECT TIMESTAMP '2008-06-01 20:30:00+01:00'
   AT TIME ZONE INTERVAL '09:00' HOUR TO MINUTE (DATE);
2008-06-01 20:30:00+01:00 AT TIME ZONE INTERVAL  9:00 HOUR TO MINUTE
--------------------------------------------------------------------
                                                            08/06/01
SELECT TIMESTAMP '2008-06-01 20:30:00' (DATE);
2008-06-01 20:30:00
-------------------
           08/06/01

The following shows the results of the SELECT statements if the AT clause was not specified, and the current session time zone displacement is INTERVAL '09:00' TO MINUTE.

SET TIME ZONE INTERVAL '09:00' HOUR TO MINUTE;
SELECT CAST(TIMESTAMP '2008-06-02 04:30:00+09:00' AS DATE);
2008-06-02 04:30:00+09:00
-------------------------
                 08/06/02
SELECT TIMESTAMP '2008-06-01 20:30:00+01:00'
   AT TIME ZONE INTERVAL '09:00' HOUR TO MINUTE (DATE);
2008-06-01 20:30:00+01:00 AT TIME ZONE INTERVAL  9:00 HOUR TO MINUTE
--------------------------------------------------------------------
                                                            08/06/02
SELECT CAST(TIMESTAMP '2008-06-01 20:30:00+01:00' 
   AS TIMESTAMP(0)) (DATE);
2008-06-01 20:30:00+01:00
-------------------------
                 08/06/02