IBM Cloud dashDB 时区

Posted

技术标签:

【中文标题】IBM Cloud dashDB 时区【英文标题】:IBM Cloud dashDB Timezone 【发布时间】:2016-07-08 15:24:44 【问题描述】:

IBM Cloud(以前的 Bluemix)dashDB 服务使用 UTC 作为时区。据我所知,您无法更改该设置。我的数据来自不同的时区。

如何为我的数据(表或列)设置时区或构造/格式化我的数据,以便 dashDB 能够正确比较我的值? (例如匹配“今天”)

【问题讨论】:

基本上不支持在数据库架构中包含时区的时间。数据库中的所有时间都是 UTC 时间,任何转换或比较都是 DIY。 【参考方案1】:

答案是“时间数据不支持时区”。而***坚持要求答案必须是30个字符或更多是愚蠢的。没有就是没有。

【讨论】:

【参考方案2】:

dashDB 具有 TO_UTC_TIMESTAMPFROM_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 的时间戳并从那里开始。

【讨论】:

【参考方案3】:

查看 dashDB 知识中心,了解您可以探索 w.r.t 时区的不同选项。

https://www.ibm.com/support/knowledgecenter/search/timezone?scope=SS6NHC

【讨论】:

以上是关于IBM Cloud dashDB 时区的主要内容,如果未能解决你的问题,请参考以下文章

IBM DataWorks 是不是支持 Object Storage 和 dashDB 之间的集成?

GROUP BY 子句在 IBM dashDB 中神秘地失败

dashDB 服务计划无法识别 IBM MobileFirst 8.0 提供的配置文件

DSX“帮助:找不到 IBM dashDB/DB2 的 JDBC 驱动程序。”

如何将两个参数传递给来自 IBM Bluemix 的 Node-Red 的 dashDB 查询元素

需要帮助为 Google API 格式化日期时间时区