Podemos extraer la TIMEZONE_REGION de una marca de tiempo, proporcionando su TIMESTAMP CON TIMEZONE. Así:
SQL> select extract(timezone_region from current_timestamp)
2 from dual
3 /
EXTRACT(TIMEZONE_REGIONFROMCURRENT_TIMESTAMP)
----------------------------------------------------------------
CET
SQL> alter session set time_zone='UTC';
Session altered.
SQL> select extract(timezone_region from current_timestamp)
2 from dual
3 /
EXTRACT(TIMEZONE_REGIONFROMCURRENT_TIMESTAMP)
----------------------------------------------------------------
UTC
SQL> alter session set time_zone='-04:00';
Session altered.
SQL> select extract(timezone_region from current_timestamp)
2 from dual
3 /
EXTRACT(TIMEZONE_REGIONFROMCURRENT_TIMESTAMP)
----------------------------------------------------------------
UNKNOWN
SQL>
El último resultado devuelve DESCONOCIDO porque más de un nombre de zona horaria se asigna a un desplazamiento de menos cuatro horas. Hay varias formas de configurar el nombre de la zona horaria a nivel de sesión; es probable que una de ellas sea la mejor manera de solucionar este problema. Más información .