将包含 UTC 值的列转换为 Snowflake 中的 EST 值

问题描述 投票:0回答:3

我正在尝试将包含 UTC 值的列转换为 EST 值。

LOAD_DATE_UTC
2022-03-23 20:59:51.000

预期输出:

LOAD_DATE_UTC LOAD_DATE_EST
2022-03-23 20:59:51.000 2022-03-23 16:59:51.000

尝试过的方法:

SELECT LOAD_DATE_UTC, 
CAST(LOAD_DATE_UTC AS TIMESTAMP_LTZ(9)) AS LOAD_DATE_EST
FROM TABLE_A

上述方法似乎返回与原来相同的值。 请告知我如何将该列转换为 EST 值,该值在 Snowflake 配置级别设置为本地时区

timezone snowflake-cloud-data-platform
3个回答
1
投票

我相信这个想法是转换为EST(目标)- 因此,以下方法适合: CONVERT_TIMEZONE( , , )

SELECT LOAD_DATE_UTC, 
CONVERT_TIMEZONE(LOAD_DATE_UTC,'America/New_York',LOAD_DATE_UTC::timestamp_ntz)
FROM TABLE_A

https://docs.snowflake.com/en/sql-reference/functions/convert_timezone.html#examples


1
投票

尝试使用convert_timezone。

select '2022-03-23 20:59:51.000' as EST,
convert_timezone('UTC', '2022-03-23 20:59:51.000') as utc_time_zone;

0
投票

谢谢。尝试了以下转换值,它在雪花中有效(来源:UTC 到 EST 时区):

选择竞争对手_报价_日期, CONVERT_TIMEZONE('UTC','EST',competitor_offer_date::TIMESTAMP_NTZ) 作为 Competitor_offer_date_updt, 来自 zeus.competitor_price_offer 限制 50 ;

© www.soinside.com 2019 - 2024. All rights reserved.