This example assumes that the default format for DATE values is 'yy/mm/dd'. Consider the following statements:
SET TIME ZONE INTERVAL '01:00' HOUR TO MINUTE; SELECT CURRENT_DATE AT TIME ZONE INTERVAL -'08:00' HOUR TO MINUTE; SELECT CURRENT_DATE AT INTERVAL -'08:00' HOUR TO MINUTE; SELECT CURRENT_DATE AT TIME ZONE INTERVAL -'08' HOUR; SELECT CURRENT_DATE AT INTERVAL -'08' HOUR; SELECT CURRENT_DATE AT TIME ZONE '-08:00'; SELECT CURRENT_DATE AT '-08:00'; SELECT CURRENT_DATE AT TIME ZONE '-8'; SELECT CURRENT_DATE AT '-8'; SELECT CURRENT_DATE AT TIME ZONE -8; SELECT CURRENT_DATE AT -8; SELECT CURRENT_DATE AT -8.0;
The preceding SELECT statements return the current date based on the time zone displacement, INTERVAL -'08:00' HOUR TO MINUTE. If the current timestamp at UTC is TIMESTAMP '2008-06-01 06:30:00.000000+00:00', these SELECT statements return '08/05/31' as the date.
If the SELECT statement has no AT clause or has an AT LOCAL clause, the statement returns '08/06/01' as the current date based on the current session time and time zone displacement, INTERVAL '01:00' HOUR TO MINUTE. For example:
SELECT CURRENT_DATE; SELECT CURRENT_DATE AT LOCAL;
SELECT CURRENT_DATE(); SELECT CURRENT_DATE() AT LOCAL;
The date returned is not adjusted to account for the start or end of daylight saving time.