【发布时间】:2013-07-31 16:47:40
【问题描述】:
系统时区和 DB2 时区不匹配。 当前系统时区是 -5000 并且 db2 通过以下查询返回 -40000 从 SYSIBM.SYSDUMMY1 中选择 CURRENT_TIMEZONE
如何以及在哪里设置此值?
【问题讨论】:
-
“当前系统时区是-5000”是什么意思?在这种情况下,system 是什么? DB2 将使用数据库服务器上的时区设置。
-
是suse,发现系统时区改变后数据库不会自动更新,需要重启db2实例。
-
注意:使用 SYSIBM.SYSDUMMY1 来使用 SELECT 大多数表达式是不必要的。您可以改用VALUES statement。
VALUES CURRENT_TIMEZONE -
@WarrenT 您的断言不正确。您是否看过 SYSIBM.SYSDUMMY1 的定义?
create view sysibm.sysdummy1 (ibmreqd) as values (char('Y')) -
@IanBjorhovde 您是想说
values current_timezone在您的DB2 服务器上不起作用吗?我不认为我理解你的意思。我的观点是,在我看到有人查询 SYSDUMMY1 的大多数情况下,可以使用 values 语句(参见上面的链接),这仅仅是因为他们想要评估的表达式不在他们的任何表中。使用 VALUES 语句表达式可以返回结果,而无需使用任何虚拟表。