雪花显示错误的日期

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)..