gpt4 book ai didi

sql - 如何将我知道的 TIMESTAMP_NTZ 在 UTC 中转换为 Snowflake SQL 中的 TIMESTAMP_TZ?

转载 作者:行者123 更新时间:2023-12-04 12:10:42 25 4
gpt4 key购买 nike

我有一列 TIMESTAMP_NTZ它包含我知道在 UTC 时区的时间戳。主要是我想转换成TIMESTAMP_TZ因为我还有其他列是 TIMESTAMP_TZ我希望能够进行涉及两者的操作。

我试图生成一个 TIMESTAMP_TZ通过以下方式:

SELECT 
'2019-10-24 12:07:24.000'::timestamp_ntz as orig -- a literal timestamp_ntz
,convert_timezone('UTC', 'UTC', orig) -- the 3-args version of convert_timezone will always return a TIMESTAMP_NTZ
,convert_timezone('UTC', orig) -- the 2-args assumes that orig timezones is session's current timezone
;

为了清楚起见,我想转换 2019-10-24 12:07:24.0002019-10-24 12:07:24.000 +0000
Snowflake 中是否有任何函数或运算符可以让我说处理这个 TIMESTAMP_NTZTIMESTAMP_TZ在 X 时区?

最佳答案

如果您知道您的帐户、用户或 session 的本地时区,则此方法有效。对我来说,它是“美国/纽约”:

SELECT current_timestamp::timestamp_ntz as orig, 
convert_timezone('UTC',convert_timezone('UTC','America/New_York',orig)::timestamp_tz);

此外,如果这是 1 次转换,您可以运行:
ALTER SESSION SET TIMEZONE = 'UTC'

这将暂时将值显示为 UTC,您可以使用以下命令将它们转换为 _tz:
SELECT convert_timezone('UTC', orig)

关于sql - 如何将我知道的 TIMESTAMP_NTZ 在 UTC 中转换为 Snowflake SQL 中的 TIMESTAMP_TZ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58541951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com