做資料探勘的,離不開使用各種時間函式。
為了避免遺忘,以及後續各種抓瞎到處亂找,特意總結了hive中大部分常用的時間函式,方便自己也方便他們。
1.unix_timestamp()
返回當前時區的unix時間戳
返回型別:bigint
hive (tmp)> select unix_timestamp() from hive_sum limit 1;
1465875016
2.from_unixtime(bigint unixtime[,string format])
時間戳轉日期函式
返回型別:string
hive (tmp)> select from_unixtime(unix_timestamp(),』yyyymmdd』) from hive_sum limit 1;
20160614
3.unix_timestamp(string date)
返回指定日期格式的的時間戳
返回型別:bigint
注意:如果後面只有date引數,date的形式必須為』yyyy-mm-dd hh:mm:ss』的形式。
hive (tmp)> select unix_timestamp(『2016-06-01』) from hive_sum limit 1;
null
hive (tmp)> select unix_timestamp(『2016-06-01 00:00:00』) from hive_sum limit 1;
1464710400
4.unix_timestamp(string date,string pattern)
返回指定日期格式的時間戳
返回型別:bigint
hive (tmp)> select unix_timestamp(『2016-06-01』,』yyyymmdd』) from hive_sum limit 1;
1449331200
5.to_date(string date)
返回時間欄位中的日期部分
返回型別:string
hive (tmp)> select to_date(『2016-06-01 00:00:00』) from hive_sum limit 1;
2016-06-01
6.year(string date)
返回時間欄位中的年
返回型別:int
hive (tmp)> select year(『2016-06-01 00:00:00』) from hive_sum limit 1;
2016
7.month(string date)
返回時間欄位中的月
返回型別:int
hive (tmp)> select month(『2016-06-01』) from hive_sum limit 1; 6
8.day(string date)
返回時間欄位中的天
返回型別:int
hive (tmp)> select day(『2016-06-01』) from hive_sum limit 1; 1
9.weekofyear(string date)
返回時間欄位是本年的第多少周
返回型別:int
hive (tmp)> select weekofyear(『2016-06-01』) from hive_sum limit 1; 22
10.datediff(string enddate,string begindate)
返回enddate與begindate之間的時間差的天數
返回型別:int
hive (tmp)> select datediff(『2016-06-01』,』2016-05-01』) from hive_sum limit 1; 31
11.date_add(string date,int days)
返回date增加days天後的日期
返回型別:string
hive (tmp)> select date_add(『2016-06-01』,15) from hive_sum limit 1;
2016-06-16
12.date_sub(string date,int days)
返回date減少days天後的日期
返回型別:string
hive (tmp)> select date_sub(『2016-06-01』,15) from hive_sum limit 1;
2016-05-17
來自:
hive中的udf時間函式用法
1 from unixtime函式 用法為將時間戳轉換為時間格式 語法 from unixtime bigint unixtime string format 返回值為string 例如 hive select from unixtime 1326988805,yyyymmddhh from tes...
hive中時間 日期函式的用法
current date 獲取當前日期 用法 select current date 輸出 2020 12 04 unix timestamp 獲取當前unix時間戳 用法 select unix timestamp 輸出 1607070544 date add 返回日期的後n天的日期 例 返回當前...
Hive 時間函式
to date 日期時間轉日期函式select to date 2015 04 02 13 34 12 輸出 2015 04 02from unixtime 轉化unix時間戳到當前時區的時間格式select from unixtime 1323308943,yyyymmdd 輸出 20111208...