タイムスタンプからTIMEZONE_REGIONを抽出して、TIMESTAMPWITHTIMEZONEを提供できます。そのように:
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>
複数のタイムゾーン名がマイナス4時間のオフセットにマップされているため、最後の結果はUNKNOWNを返します。セッションレベルでタイムゾーン名を設定するには、さまざまな方法があります。それらの1つは、この問題を回避するための最良の方法である可能性があります。 詳細a> 。