Oracleには、TZD、TZH、TZMおよびTZRの特定の日付書式要素があります。
例:
SQL> create table t (col timestamp with time zone)
2/
Tabel is aangemaakt.
SQL> insert into t values (sysdate)
2/
1 rij is aangemaakt.
SQL> select col
2 , to_char(col,'TZD') time_zone_daylight_info
3 , to_char(col,'TZH') time_zone_hour
4 , to_char(col,'TZM') time_zone_minute
5 , to_char(col,'TZR') time_zone_region
6 from t
7/
COL TIME_Z TIM TI TIME_ZONE_REGION
------------------------------- ------ --- -- --------------------------------
22-05-09 09:12:33,000000 +02:00 +02 00 +02:00
1 rij is geselecteerd.
または抽出機能使用:
SQL> select col
2 , extract(timezone_abbr from col) time_zone_abbr
3 , extract(timezone_hour from col) time_zone_hour
4 , extract(timezone_minute from col) time_zone_minute
5 , extract(timezone_region from col) time_zone_region
6 from t
7/
COL TIME_ZONE_ TIME_ZONE_HOUR TIME_ZONE_MINUTE
------------------------------- ---------- -------------------------------------- --------------------------------------
TIME_ZONE_REGION
----------------------------------------------------------------
22-05-09 09:15:24,000000 +02:00 UNK 2 0
UNKNOWN
1 rij is geselecteerd.
よろしく、 ロブを。
ありがとうございました。 フォーマット要素や抽出機能を使用せずにこれを行う方法はないと思います(つまり、私はタイムゾーンを意識させたい既存のアプリケーションを持っています。既存のSQL文をすべて変更することなく)? – Allen
私は気づいていません。この投稿は同じことを示唆しているようです:http://stackoverflow.com/questions/223096?sort=oldest。あなたはもちろん、中国の方法を適用することができます:すべての可能なタイムゾーン情報を設定し、最後の2バイトを見て... –