【问题标题】:DateTime in Snowflake Timestamp '23-Jan-2015 23:02:39' is not recognized无法识别雪花时间戳“2015 年 1 月 23 日 23:02:39”中的日期时间
【发布时间】:2020-06-26 02:51:54
【问题描述】:

所以我有一个正在转换为 DateTime 的 varchar,我正在使用以下语法,但在 Snowflake 中出现以下错误“无法识别时间戳 '23-Jan-2015 23:02:39'”。既然我会以这种格式获取我的数据,你有什么建议?

select '23-Jan-2015 23:02:39'::timestamp_tz;

【问题讨论】:

    标签: sql snowflake-cloud-data-platform


    【解决方案1】:

    您的时间戳字符串文字不是 Postgres 可以直接使用的标准格式。相反,您可以使用TO_TIMESTAMP 进行转换:

    SELECT TO_TIMESTAMP('23-Jan-2015 23:02:39', 'DD-Mon-YYYY HH24:MI:SS');
    

    在我使用的演示工具中,返回:2015-01-23 23:02:39+00

    Demo

    【讨论】:

      【解决方案2】:

      你需要让雪花知道如何理解你传递的文字。

      1. 使用 to_timestamp() 指示它转换为时间戳
      2. 在解析文字以将其映射到值时,为其提供一种映射日-月-年的方法

      select to_timestamp('23-Jan-2015 23:02:39', 'DD-MON-YYYY HH24:MI:SS');

      请在此处查看 Snowflake 支持的日期、时间、时间戳等格式: https://docs.snowflake.com/en/user-guide/date-time-input-output.html#date-formats

      【讨论】:

        猜你喜欢
        • 2010-11-01
        • 2020-03-28
        • 2022-07-27
        • 2011-04-01
        • 1970-01-01
        • 1970-01-01
        • 2014-11-18
        • 2020-02-15
        • 1970-01-01
        相关资源
        最近更新 更多