16

Below query is my sql server query and I want it to convert it into hive query:

select DATEDIFF([minute], '19000101', '2013-01-01 10:10:10')
Lukasz Szozda
  • 162,964
  • 23
  • 234
  • 275
displayname
  • 317
  • 1
  • 5
  • 15

1 Answers1

27

You could use unix_timestamp for dates after 1970:

SELECT (unix_timestamp('2013-01-01 10:10:10') 
      - unix_timestamp('1970-01-01 00:00:00'))/60 
  1. Convert both dates to seconds from 1970-01-01
  2. Substract them
  3. Divide by 60 to get minutes

EDIT:

Adding Minutes: 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

Lukasz Szozda
  • 162,964
  • 23
  • 234
  • 275