【问题标题】:Impala convert string to timestamp always returns to NULLImpala 将字符串转换为时间戳总是返回 NULL
【发布时间】:2021-08-02 21:45:42
【问题描述】:

我想将 dd/mm/yyyy hh:mm:ss 字符串转换为日期格式。

select to_timestamp('19/05/2010 20:03:55', 'dd/mm/yyyy hh:mm:ss');

这不会将字符串转换为时间格式,并且总是返回 NULL。

请指导我哪里出错了。

【问题讨论】:

    标签: sql impala


    【解决方案1】:

    您需要使用正确的格式。

     select to_timestamp('19/05/2010 20:03:55', 'dd/MM/yyyy HH:mm:ss') as ts;
    


    模式字符串支持以下 Java SimpleDateFormat 子集。

    Pattern Description
    y       Year
    M       Month
    d       Day
    H       Hour
    m       Minute
    s       Second
    S       Fractional second
    

    包含所有字段的日期字符串可以是 'yyyy-MM-dd HH:mm:ss.SSSSSS'、'dd/MM/yyyy HH:mm:ss.SSSSSS'、'MMM dd, yyyy HH.mm。 ss (SSSSSS)' 或其他占位符和分隔符的组合。

    【讨论】:

    • 模式字母绝不是特定于旧的和麻烦的SimpleDateFormat 类。请参阅 Unicode Date Field Symbol Table
    • 可能是,但上面的SimpleDate 格式信息在他们的官方网站上,所以我把它贴在这里。此代码也适用于我的版本。不确定新的简单数据格式规则。
    猜你喜欢
    • 1970-01-01
    • 2021-04-13
    • 2018-10-14
    • 2022-01-02
    • 2020-11-22
    • 1970-01-01
    • 2021-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多