如何使用Hive以分钟为单位获取日期差异

时间:2015-11-08 10:45:27

标签: sql hadoop hive date-difference

下面的查询是我的sql server查询,我希望它将其转换为hive查询:

select DATEDIFF([minute], '19000101', '2013-01-01 10:10:10')

1 个答案:

答案 0 :(得分:18)

您可以将unix_timestamp用于1970之后的日期:

SELECT (unix_timestamp('2013-01-01 10:10:10') 
      - unix_timestamp('1970-01-01 00:00:00'))/60 
  1. 1970-01-01
  2. 的两个日期转换为秒
  3. 提取它们
  4. 除以60得到分钟
  5. 修改

    添加分钟:change date to unixtime -> add var * 60sec -> convert back to date

    SELECT from_unixtime(unix_timestamp('2013-01-01 10:10:10') + 10 * 60) AS result
    

    <强> db<>fiddle demo using MySQL