hive 和 presto 获取当前时间并且和固定时间相减的不同写发

hive 和 presto之间有的函数使用不一样,这里获取当前时间来做简单描写。

我们的需求是:求当前时间与固定时间字段的日期差值。

在hive,可以直接使用datediff来计算两个日期之间的差值,可以直接这样写

select datediff(from_unixtime(unix_timestamp()), a.crt_time) diff_date
from a

from_unixtime(unix_timestamp() ) 即获取当前时间 并且将时间格式化为 年-月-日 时:分:秒的形式。

在presto中可以使用这样写

select date_diff('day',cast(a.crt_time as timestamp),cast(now() as timestamp)) diff_date
from a

date_diff可以用来求小时或者是天的时间间隔,如果要求小时就将day换为hour即可

cast(expression as data_type),expression 字段 ,expression 数据类型。


版权声明:本文为qq_46068642原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。