【问题标题】:Converting Epoch Time in String to date field in Impala SQL将字符串中的纪元时间转换为 Impala SQL 中的日期字段
【发布时间】:2018-09-08 20:29:44
【问题描述】:

我有一个纪元日期时间字段,它作为字符串存储在数据库表中。我需要将其转换为 impala sql 中的时间戳。 我正在使用以下格式并且无法正常工作。 cast(unix_timestamp(execn_start_ts, "yyyy-MM-dd;HH:mm:ss") as timestamp) 其中 execn_start_ts 是我的表中的字段,其中 unix/epoch 时间存储为字符串。

【问题讨论】:

    标签: impala epoch


    【解决方案1】:

    尝试使用
    unix_timestamp(字符串日期时间,字符串格式)

    Impala datetime functions

    【讨论】:

    • 以下对我有用,SELECT CAST(CAST(execn_start_ts AS BIGINT)/1000 AS TIMESTAMP) as new_timestamp FROM table。当我尝试 unix_timestamp 时出现错误,它说这个函数不能有字符串参数。
    • 请给我你的CDH版本
    【解决方案2】:

    如果您的纪元时间 ms 提供,以下方法会保留 ms 信息。

    select CAST(CAST(ms_epoch_time as BIGINT) / 1000 AS TIMESTAMP)
    as new_timestamp
    from db.some_tabl_name
    
    --ms_epoch_time - 1608249590791
    --new_timestamp -  2020-12-17 23:59:50.790999889
    

    【讨论】:

      猜你喜欢
      • 2012-04-03
      • 2018-02-18
      • 1970-01-01
      • 2012-11-22
      • 2014-11-18
      • 2012-06-14
      • 2017-11-10
      • 1970-01-01
      • 2018-09-21
      相关资源
      最近更新 更多