unix_timestamp、from_unixtime时间戳函数用法(hive)
- 119 次检阅

一、unix_timestamp函数用法
1、unix_timestamp() 得到当前时间戳
2、如果参数date满足yyyy-MM-dd HH:mm:ss形式,则可以直接unix_timestamp(string date) 得到参数对应的时间戳
3、如果参数date满足yyyy-MM-dd HH:mm:ss形式,则我们需要指定date的形式,在进行转换
unix_timestamp(‘2009-03-20’, ‘yyyy-MM-dd’)=1237532400
二、from_unixtime函数用法
语法:from_unixtime(t1,’yyyy-MM-dd HH:mm:ss’)
其中t1是10位的时间戳值,即1970-1-1至今的秒,而13位的所谓毫秒的是不可以的。
对于13位时间戳,需要截取,然后转换成bigint类型,因为from_unixtime类第一个参数只接受bigint类型。
例如:
select from_unixtime(cast(substring(timetemp,1,10) as bigint),’yyyy-MM-dd HH’) timetemp,count(*) cn from dual

分享到:

这篇文章还没有评论

发表评论