Snowflake中UTC转EST并去除时间戳的T和Z字符问题
解决Snowflake时区转换后时间戳带T/Z的格式化问题
直接用TO_CHAR函数把转换后的时间戳格式化为你需要的字符串格式就行,之前的CAST/TO_DATE无效是因为它们处理的是时间类型转换,而你需要的是将时间类型输出为指定格式的文本。
修改后的SQL语句如下:
SELECT DISTINCT TOP 100 b.ID as ID ,TO_CHAR(CONVERT_TIMEZONE('UTC','America/New_York',b.start_datetime_utc::TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS.FF3') as CallBgn ,TO_CHAR(CONVERT_TIMEZONE('UTC','America/New_York',b.end_datetime_utc::TIMESTAMP), 'YYYY-MM-DD HH24:MI:SS.FF3') as CallEnd ,a.PNumber FROM pd_presentation.cus.cus_iss as a LEFT JOIN PD_PRESENTATION.CUS.CALL as b ON a.p_hk = b.p_hk WHERE b.start_datetime_utc BETWEEN '2022-08-28 00:00:00.000' AND '2022-09-17 23:59:59.997' AND a.p <> 'NOT GIVEN'
格式参数说明:
YYYY-MM-DD:年-月-日格式HH24:24小时制的小时(如果要12小时制用HH12)MI:分钟SS:秒FF3:保留三位毫秒,和你目标格式的.297对应
如果后续还需要对时间做计算,不要转成字符串,保持TIMESTAMP_TZ类型即可,只有在导出需要特定文本格式时用TO_CHAR转换。
内容的提问来源于stack exchange,提问作者Shobi
相关产品推荐
相关产品推荐

