We kunnen de TIMEZONE_REGION extraheren uit een tijdstempel, door het een TIMESTAMP MET TIMEZONE te geven. Vind ik leuk:
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>
Het laatste resultaat retourneert ONBEKEND omdat meer dan één tijdzonenaam wordt toegewezen aan een verschuiving van min vier uur. Er zijn verschillende manieren om de naam van de tijdzone in te stellen op sessieniveau; een van deze is waarschijnlijk de beste manier om dit probleem te omzeilen. Meer informatie .