コンストラクターでミリ秒のみを指定して SQL タイム スタンプを作成する場合、どのタイム ゾーンが使用されますか? また、タイプのOracleデータベース列にUTCまたはローカル・タイム・ゾーンのどちらを書き込むかを選択する方法はTIMESTAMP(6) WITH LOCAL TIME ZONE
?
1 に答える
Timestamp(int year, int month, int date, int hour, int minutes, int second, int nano)
タイムスタンプ (長時間) - 時間 - 1970 年 1 月 1 日 00:00:00 GMT からのミリ秒。負の数は、1970 年 1 月 1 日 00:00:00 GMT までのミリ秒数です。
タイムスタンプにタイムゾーンはありません
一般に、タイムゾーンが想定される場合、それは jvm default (システムのデフォルト) になります。
オラクルのデータ型は別の獣です
見る
SQL DATE と java.sql.Date のタイムゾーン
Oracle 10g のタイム ゾーンの混乱- 3 つのタイム ゾーンが関係しています
データベースを操作する場合は、Calendar または java.sql.Date を使用してください
Oracleドライバー(およびSQL開発者)は、(そのスマートな)日付をjvmタイムゾーン(または厳密に言えば、セッションタイムゾーン)から必要なものに変換する場合があります
-alter session set time_zone... でセッションのタイムゾーンを変更できます Oracle で SYSDATE の UTC 値を取得する方法
あなたがしていることに注意してください
10個の異なるテストケースを書く
このブログもいいですねhttp://tonyhasler.wordpress.com/2010/09/04/tonys-tirade-against-timestamp-with-time-zone/