In this example, the time zone displacement specified in the literal, INTERVAL '04:00' HOUR TO MINUTE, is used to determine the UTC value '2008-06-01 04:30:00' and time zone displacement, INTERVAL '04:00' HOUR TO MINUTE, of the literal.
The CAST result is the source expression value '2008-06-01 04:30:00' at UTC with the target time zone displacement, INTERVAL -'08:00' HOUR TO MINUTE.
The result value of the CAST at UTC is adjusted to time zone displacement, INTERVAL -'08:00' HOUR TO MINUTE, and the result of the SELECT statement is: TIMESTAMP '2008-05-31 20:30:00-08:00'. The current session time zone has no effect.
SET TIME ZONE INTERVAL '09:00' HOUR TO MINUTE; SELECT CAST(TIMESTAMP '2008-06-01 08:30:00+04:00' AS TIMESTAMP(0) WITH TIME ZONE AT -8);