hive实现日期相减

今天在看hive日期相减函数的时候只发现了,datediff(),date_sub(),date_add()等函数可查看此链接,却没有发现保留精确值的函数。而当发现unix_timestamp()函数就会感觉计算会很简单。

通过时间戳(划算为秒)来计算保留日的精确值

select abs((unix_timestamp('2021-01-28 00:00:00') - unix_timestamp('2021-01-29 12:00:00'))/(3600*24))
--------------------------------------------------------------
结果
		1.5
描述:
`unix_timestamp('2021-01-28 00:00:00')通过将'2021-01-28 00:00:00'转换为秒的单位即 1611763200 
而 unix_timestamp('2021-01-29 12:00:00')=1611892800
当unix_timestamp('2021-01-28 00:00:00') - unix_timestamp('2021-01-29 12:00:00')=-129600
代表的是两个日期相差的秒数,最后通过除以一天的秒数获得日的精确值。
时分秒的获取过程类似,只不过就是换算不同罢了。

猜你喜欢

转载自blog.csdn.net/weixin_42856363/article/details/113350513