繁体   English   中英

如何将unix日期转换为雪花中的指定日期?

[英]how can I convert the unix date into a specified date in snowflake?

如何将unix日期转换为雪花中下面提到的指定日期

unix 日期 = 96227 预期输出 = 1996-08-14

我曾尝试在雪花中使用以下查询

select cast(to_timestamp(1900000+96227) as date) as "effDate"

但是上面的查询和在线的 unix 转换器都给了我下面的结果——

在此处输入图片说明

我怎样才能在雪花中构造一个查询,给我 1996-08-14,我应该在转换时添加什么数字?

添加到戈登的回答,也许更容易管理使用以下内容:

Set UNIX_DATE='96227';
Select DATEADD(day,RIGHT($UNIX_DATE,3)-1,TRY_TO_DATE(LEFT($UNIX_DATE,2),'YY'));

注意:两位数的年份,由 TWO_DIGIT_CENTURY_START 会话参数控制,默认为 1970,与 Unix 纪元匹配。

您的数据格式似乎采用 YYDDD 格式,其中 YY 是年份减去 1900,而 DDD 是一年中的第几天。

所以:

select date_from_parts(1900 + d / 1000, 1, 1) + (d % 1000 - 1) * interval '1 day'
from (values (96227)) v(d);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM