IBM Cloud(以前的 Bluemix)dashDB 服务使用 UTC 作为时区。据我所知,您无法更改该设置。我的数据来自不同的时区。
如何为我的数据(表或列)设置时区或构造/格式化我的数据,以便 dashDB 正确比较我的值?(例如匹配“今天”)
dashDB 具有TO_UTC_TIMESTAMP
和FROM_UTC_TIMESTAMP
在 UTC 和特定时区之间转换的功能。以下查询返回洛杉矶/旧金山的当前时间:
SELECT from_utc_timestamp (current timestamp, 'America/Los_Angeles')
from sysibm.sysdummy1
如果你环绕date
你得到该特定时区的当前日期(又名“今天”):
SELECT date(from_utc_timestamp (current timestamp, 'America/Los_Angeles'))
from sysibm.sysdummy1
有许多函数可以帮助进行日期/时间算术运算,您可以从任何日期/时间值中添加/减去年/月/.../秒。我的建议是存储已转换为 UTC 的时间戳并从那里开始。
答案是“时间数据不支持时区”。而且 stackoverflow 坚持要求答案必须是 30 个字符或更多是愚蠢的。不就是不。
查看 dashDB 知识中心,了解您可以探索 wrt 时区的不同选项。
https://www.ibm.com/support/knowledgecenter/search/timezone?scope=SS6NHC