Possiamo estrarre TIMEZONE_REGION da un timestamp, fornendo un TIMESTAMP WITH TIMEZONE. Così:
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>
L'ultimo risultato restituisce UNKNOWN perché più nomi di fuso orario vengono mappati su un offset di meno quattro ore. Esistono vari modi per impostare il nome del fuso orario a livello di sessione; è probabile che uno di questi sia il modo migliore per aggirare questo problema. Scopri di più .