雪花显示错误的日期
Snowflake displaying wrong Date
我正在尝试将 python 数据框中的日期列写入雪花。
但是,雪花在 table.
中显示错误 values/year
示例:
我尝试插入:2010-10-15T00:00:00.000Z
雪花显示的内容:40788570-09-06 17:00:00.000
当以字符串数据类型传递相同内容时,它会正确显示日期时间。
有没有大佬指导一下,谢谢
Snowflake 有很多方法来解析纪元时间戳,我不熟悉 panda/python 方面如何让它开心,但可以告诉你发生了什么。
SELECT '2010-10-15T00:00:00.000Z'::timestamp as t1,
'40788570-09-06 17:00:00.000'::timestamp as t2,
date_part(epoch_second, t1) as e1,
date_part(epoch_second, t2) as e2,
to_timestamp(e1) as tt1,
to_timestamp(e2, 6) as tt2;
T1
T2
E1
E2
TT1
TT2
2010-10-15 00:00:00.000
Invalid date
1,287,100,800
1,287,100,799,974,800 2010-10-15 00:00:00.000
2010-10-14 23:59:59.974
基本上你的 python 日期是 epoch_microsecond,默认转换将它视为纪元秒,所以当它用正确的级别解析时,它或多或少是正确的(这里是错误的,因为将疯狂的未来日期隐藏到 s
,然后阅读 us
)..
我正在尝试将 python 数据框中的日期列写入雪花。 但是,雪花在 table.
中显示错误 values/year示例:
我尝试插入:2010-10-15T00:00:00.000Z
雪花显示的内容:40788570-09-06 17:00:00.000
当以字符串数据类型传递相同内容时,它会正确显示日期时间。 有没有大佬指导一下,谢谢
Snowflake 有很多方法来解析纪元时间戳,我不熟悉 panda/python 方面如何让它开心,但可以告诉你发生了什么。
SELECT '2010-10-15T00:00:00.000Z'::timestamp as t1,
'40788570-09-06 17:00:00.000'::timestamp as t2,
date_part(epoch_second, t1) as e1,
date_part(epoch_second, t2) as e2,
to_timestamp(e1) as tt1,
to_timestamp(e2, 6) as tt2;
T1 | T2 | E1 | E2 | TT1 | TT2 |
---|---|---|---|---|---|
2010-10-15 00:00:00.000 | Invalid date | 1,287,100,800 | 1,287,100,799,974,800 2010-10-15 00:00:00.000 | 2010-10-14 23:59:59.974 |
基本上你的 python 日期是 epoch_microsecond,默认转换将它视为纪元秒,所以当它用正确的级别解析时,它或多或少是正确的(这里是错误的,因为将疯狂的未来日期隐藏到 s
,然后阅读 us
)..