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_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 的时间戳并从那里开始。
【讨论】:
【参考方案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 驱动程序。”