雪花 GMT 字符串到日期转换

Posted

技术标签:

【中文标题】雪花 GMT 字符串到日期转换【英文标题】:Snowflake GMT String to Date Conversion 【发布时间】:2020-08-03 21:13:18 【问题描述】:

我们在 JSON 文件中收到字符串“2019-11-30T18:00:00GMT-06:00”,需要将其转换为时间戳才能加载到雪花中的时间戳列中。我尝试了多个选项 convert_timezone、to_timestamp 等,但是徒劳无功,请您告诉我如何以数据格式表示此字符串 (2019-11-30T18:00:00GMT-06:00) 以进行转换。

谢谢!

【问题讨论】:

【参考方案1】:

利用更雪花的方式来做到这一点,你会想要运行这样的东西:

SELECT TO_TIMESTAMP('2019-11-30T18:00:00GMT-06:00','YYYY-MM-DDTHH:MI:SSGMT-TZH:TZM');

此输出将是您帐户默认的日期/时间以及随之而来的时区偏移量。

【讨论】:

哇.. 谢谢@Mike,如果有任何链接,我可以分享更多信息。感谢帮助! @gopinathkolanchi 这是核心链接:docs.snowflake.com/en/sql-reference/functions/to_timestamp.html,但我也发现这个页面很重要,找到每个元素的具体符号:docs.snowflake.com/en/sql-reference/… 谢谢@Mike :)【参考方案2】:

请尝试下面提到的方法

如果您的表创建如下

CREATE TABLE TIMESTAMP_TEST(DATE TIMESTAMP);

将值插入为

INSERT INTO TIMESTAMP_TEST SELECT REPLACE(REPLACE('2019-11-30T18:00:00GMT-06:00','GMT'),'T',' ') FROM DUAL

谢谢

【讨论】:

无需使用 REPLACE 语句。您可以直接在TO_TIMESTAMPTO_DATE 函数中映射字符串的格式。

以上是关于雪花 GMT 字符串到日期转换的主要内容,如果未能解决你的问题,请参考以下文章

如何将长口头日期时间转换为雪花中的时间戳(YYYY-MM-DD HH:MM:SS)?

iOS日期转换之UTC/GMT时间格式

如何在雪花中将时间戳转换为日期

如何将日期/时间从 GMT 转换为本地时区

将带有 GMT 的字符串转换为日期时间格式 - php [重复]

字符串值到日期格式的液体转换