1. 程式人生 > >unix_timestamp 時間戳函式用法(hive)

unix_timestamp 時間戳函式用法(hive)

一、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(tistmp,1,10) as bigint),’yyyy-MM-dd HH’) tim ,count(*) cn from ttengine_hour_data where …