0

単一のタイム ゾーンで実行されているアプリケーション (java - oracle 11g R2) があります。現在、複数のタイムゾーンで実行する必要があります。私の要件は、ログインのタイムゾーンに関係なく、データを 1 つのタイムゾーン (IST など) に保存することです。ただし、アプリケーションは、それぞれのエンティティのタイム ゾーンに従ってユーザーに日付と時刻を表示する必要があります。既に記述されているすべてのオラクル クエリを変更することはできません。ユーザーを場所に接続し、ユーザー ログイン時にユーザーの (oracle) セッションをローカル タイム ゾーンに変更します。

これは可能ですか?

4

2 に答える 2

1

データ型TIMESTAMP WITH LOCAL TIME ZONEはタイムゾーンに対応しています。データベースサーバーのタイムゾーンでデータを保存します。ユーザーが別のタイム ゾーンから接続すると、保存された値がローカル タイム ゾーンで表示されます。

列を変更DATEするには、次を使用できます

ALTER TABLE mytable MODIFY d TIMESTAMP WITH LOCAL TIME ZONE;

詳細については、Migrating Oracle DATE columns to TIMESTAMP with timezone を参照してください。

于 2012-12-01T14:46:55.570 に答える
0

タイムゾーンに関係なく日付を格納する Oracle DATE 型を使用します。

次に、Java Date クラスもタイムゾーンに依存しないことに注意してください。

このようにすると、日付を文字列としてフォーマットしてクライアントに表示する場合にのみ、日付はタイムゾーンを取得します。

この質問を頻繁に目にするので、最近ブログ投稿を書きました。こちら を参照してください

于 2012-12-01T15:04:12.093 に答える