Vi kan extrahera TIMEZONE_REGION från en tidsstämpel, förutsatt att den är en TIMESTAMP MED TIMEZONE. Som så:
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>
Det sista resultatet returnerar OKÄNT eftersom mer än ett tidszonnamn mappas till en förskjutning på minus fyra timmar. Det finns olika sätt att ställa in tidszonens namn på sessionsnivå; en av dessa är sannolikt det bästa sättet att lösa problemet. Läs mer .