【发布时间】:2020-01-15 23:02:43
【问题描述】:
我有一个要求,我必须将时间戳 {with any timezone} 列转换为 CST 时区时间戳。
传入的时区会在另外一栏提到,请看下表:
我要计算'????'?
附:我的 teradata 默认时区设置是 CST。
我已经试过了:
选择时间戳 AT 'America Central'
但它给了我相同的输出,因为我的默认 teradata 时区是 CST。
我希望能够将时区作为带有时间戳的输入提供给 teradata,并在 CST 中获取输出时间戳。
【问题讨论】:
-
如果您存储没有时区的数据,Teradata 会将其存储为 GMT,并自动将其转换为您的时区,即 CST。这不是你想要的吗?
-
其实不然,传入的数据可以在任何时区,我们需要 CST 中的输出时间戳。此外,timezone_text 列会告诉我们时间戳列 {our input} 的时区是什么。
-
换一种说法,真的没有没有时区的时间戳。时区可以表示为与 GMT 偏移的显式小时/分钟,也可以是隐式的(内部 GMT 或外部会话时区)。 AT 子句只允许您获取相对于不同时区的外部形式。
标签: timestamp timezone teradata timestamp-with-timezone