将 Varchar 转换为 Snowflake 中的时间戳

Posted

技术标签:

【中文标题】将 Varchar 转换为 Snowflake 中的时间戳【英文标题】:Converting Varchar to Timestamp in Snowflake 【发布时间】:2021-08-18 15:30:12 【问题描述】:

我有一个定义为 varchar 的日期。日期字段的值为 19810801。当我尝试使用 To_TimeSTAMP 转换为时间戳时,返回的值为 1970-08-20 06:18:21.000 +0000。我不确定为什么雪花将年份设置为 1970 年并将月份设置为八月。 你知道这可能是什么问题吗?

这是我的代码 - 从 Table1 中选择 to_timestamp_tz(EFFECTIVE_DATE)

对于 EffectiveDate 19810801,返回的输出是 1970-08-20 06:18:21.000 +0000

【问题讨论】:

【参考方案1】:

TO_TIMESTAMP 将该值评估为纪元时间:

https://www.epochconverter.com/

如果你想将它转换为 1981-08-01,你可以使用这个:

Select to_timestamp_tz('19810801','YYYYMMDD');

【讨论】:

以上是关于将 Varchar 转换为 Snowflake 中的时间戳的主要内容,如果未能解决你的问题,请参考以下文章

使用错误处理将整数转换为雪花中的日期

将字符串数组转换为 Snowflake 中的数字数组

Discord.js:将用户 ID(字符串)转换为用户 ID(Snowflake)

Snowflake 数据库 VARCHAR 列的度量单位是啥?

如何将 JSON 字典列表转换为 Snowflake 中的字符串列表?

如何克服 Snowflake Varchar (16,777,216) 加载图像数据的限制