Wir können die TIMEZONE_REGION aus einem Zeitstempel extrahieren, indem wir einen TIMESTAMP WITH TIMEZONE bereitstellen. So:
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>
Das letzte Ergebnis gibt UNKNOWN zurück, da mehr als ein Zeitzonenname einem Offset von minus vier Stunden zugeordnet ist. Es gibt verschiedene Möglichkeiten, den Zeitzonennamen auf Sitzungsebene festzulegen; Eine davon ist wahrscheinlich die beste Methode, um dieses Problem zu umgehen. Weitere Informationen .