雪花 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_TIMESTAMP
或TO_DATE
函数中映射字符串的格式。以上是关于雪花 GMT 字符串到日期转换的主要内容,如果未能解决你的问题,请参考以下文章
如何将长口头日期时间转换为雪花中的时间戳(YYYY-MM-DD HH:MM:SS)?