Możemy wyodrębnić TIMEZONE_REGION ze znacznika czasu, podając jego TIMESTAMP WITH TIMEZONE. Tak:
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>
Ostatni wynik zwraca UNKNOWN, ponieważ więcej niż jedna nazwa strefy czasowej jest mapowana na przesunięcie wynoszące minus cztery godziny. Istnieją różne sposoby ustawiania nazwy strefy czasowej na poziomie sesji; jeden z nich prawdopodobnie będzie najlepszym sposobem obejścia tego problemu. Dowiedz się więcej .