Oracle 甲骨文时区

Oracle 甲骨文时区,oracle,Oracle,我有一个应用程序(java-Oracle11GR2),它运行在一个时区上。现在它必须在多个时区上运行。我的要求是,无论登录时区如何,都要将数据存储在一个时区(比如IST)。但希望应用程序根据各自的实体时区向用户显示日期和时间。我将无法更改所有已编写的oracle查询。希望将用户附加到位置,并在用户登录时将用户的alter(oracle)会话附加到其本地时区 这可能吗?带有本地时区的数据类型时间戳是时区感知的。它将数据存储在数据库服务器的时区中。如果用户从不同的时区连接,则存储的值将显示在其本地时

我有一个应用程序(java-Oracle11GR2),它运行在一个时区上。现在它必须在多个时区上运行。我的要求是,无论登录时区如何,都要将数据存储在一个时区(比如IST)。但希望应用程序根据各自的实体时区向用户显示日期和时间。我将无法更改所有已编写的oracle查询。希望将用户附加到位置,并在用户登录时将用户的alter(oracle)会话附加到其本地时区


这可能吗?

带有本地时区的数据类型
时间戳是时区感知的。它将数据存储在数据库服务器的时区中。如果用户从不同的时区连接,则存储的值将显示在其本地时区中

要更改
日期
列,可以使用

ALTER TABLE mytable MODIFY d TIMESTAMP WITH LOCAL TIME ZONE;

可以检查查询,有关详细信息,请参阅。

使用Oracle日期类型,该类型存储独立于时区的日期

然后,请注意Java Date类也是与时区无关的

通过这种方式,只有当您将日期格式化为字符串以向客户端显示时,日期才会获得时区

我经常看到这个问题,所以我最近写了一篇关于这个问题的博客。
看看。

谢谢您的回答。。我们终于找到了出路。为每个登录的用户附加时区。改变系统设置时区。然后使用当前_日期而不是sysdate。