【问题标题】:Adding Minutes to Timestamp Hive向时间戳 Hive 添加分钟
【发布时间】:2019-03-27 20:17:41
【问题描述】:

我正在尝试将 14 分钟添加到我拥有的时间间隔,但一直收到错误或 null

我在做

select f.act_arrv_dtmz, from_unixtime(unix_timestamp('f.ACT_ARRV_DTMZ')+840)

但我一直收到错误消息。我也在尝试使用 CAST

select act_dprt_dtmz, CAST(act_dprt_dtmz as timestamp) - cast(from_unixtime(unix_timestamp(act_dprt_dtmz)+840) as timestamp) from heart_beat_data_temp; 

这没有给出正确的时间以及我何时将变量放在引号中

select act_dprt_dtmz, CAST(act_dprt_dtmz as timestamp) - cast(from_unixtime(unix_timestamp('act_dprt_dtmz')+840) as timestamp) from heart_beat_data_temp; 

它给了我 null

我希望 act_dprt_dtmz 时间戳加上 14 分钟

【问题讨论】:

  • select act_dprt_dtmz, CAST(act_dprt_dtmz as timestamp) - cast(from_unixtime(840) as timestamp) from heart_beat_data_temp; //这似乎工作得更好,但时间不会转换回来

标签: hive timestamp


【解决方案1】:

希望这可行:-)

select current_timestamp() as current_time,
        from_unixtime(unix_timestamp(current_timestamp())+840) as added_time;


+-------------------------+----------------------+--+
|      current_time       |      added_time      |
+-------------------------+----------------------+--+
| 2019-03-27 16:48:38.38  | 2019-03-27 17:02:38  |
+-------------------------+----------------------+--+


【讨论】:

    【解决方案2】:

    例如您在特定时区的当前时间 + 10 分钟:

    select date_format(
            from_utc_timestamp(CURRENT_TIMESTAMP(),'Europe/Madrid') + INTERVAL 10 minutes,
            'yyyy-MM-dd HH:mm:ss')
         as PLUS_10_MIN
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-27
      • 2019-07-22
      • 1970-01-01
      • 2017-10-22
      • 2010-09-20
      • 1970-01-01
      相关资源
      最近更新 更多