如何使用Hive在几分钟内获得日期差异 [英] How to get date difference in minutes using Hive
本文介绍了如何使用Hive在几分钟内获得日期差异的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
下面的查询是我的sql server查询,我希望它将它转换为hive查询:
select DATEDIFF([minute ],'19000101','2013-01-01 10:10:10')
解决方案
您可以使用 <$ c $对于 1970
之后的日期:
unix_timestamp SELECT
(unix_timestamp('2013-01-01 10:10:10') - unix_timestamp('1970-01-01 00:00:00'))/ 60
- 将这两个日期转换为
1970-01-01
- 对它们进行抽象分析
- 除以60得到分钟数
编辑:
添加最小值utes:将日期更改为unixtime - >添加var * 60sec - >转换回日期
SELECT from_unixtime(unix_timestamp('2013-01-01 10:10: 10')+ 10 * 60)结果
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')
解决方案
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
- Convert both dates to seconds from
1970-01-01
- Substract them
- 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
这篇关于如何使用Hive在几分钟内获得日期差异的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文