我需要区分两个时间戳字段,开始和结束

时间:2019-11-28 14:49:25

标签: sql hive datediff

我需要区分两个时间戳字段(开始和结束)之间的差异,例如: 开始日期:2019-09-20 01:15:00 最后日期:2019-09-20 01:20:15 datediff(结束日期,开始日期)

我得到的回报是0。

我认为这是因为日期相同,但是我希望以分钟为单位,在这种情况下为5分钟。

有人遇到这个困难吗?

2 个答案:

答案 0 :(得分:0)

MySQL DATEDIFF()返回两个日期或日期时间之间的天数。 要获得两个时间戳之间的秒数,您可以使用UNIX_TIMESTAMP(日期)来返回unix时间,因此

SELECT (UNIX_TIMESTAMP('2019-09-20 01:20:00')-UNIX_TIMESTAMP('2019-09-20 01:15:00'))/60;

或使用TIMESTAMPDIFF

SELECT TIMESTAMPDIFF(MINUTE,'2019-09-20 01:15:00','2019-09-20 01:20:00')

答案 1 :(得分:0)

一种方法是转换为Unix时间戳:

select (unix_timestamp(final_date) - unix_timestamp(start_date)) / 60 as diff_minutes