hive 時間操作函式

2021-09-08 20:10:48 字數 3306 閱讀 5677

日期函式unix時間戳轉日期函式: from_unixtime語法:   from_unixtime(bigint unixtime[, string format])

返回值: string

說明: 轉化unix時間戳(從1970-01-01 00:00:00 utc到指定時間的秒數)到當前時區的時間格式

舉例:hive>   select from_unixtime(1323308943,』yyyymmdd』) from dual;

20111208

獲取當前unix時間戳函式: unix_timestamp語法:   unix_timestamp()

返回值:   bigint

說明: 獲得當前時區的unix時間戳

舉例:hive>   select unix_timestamp() from dual;

1323309615

日期轉unix時間戳函式: unix_timestamp語法:   unix_timestamp(string date)

返回值:   bigint

說明: 轉換格式為「yyyy-mm-dd hh:mm:ss「的日期到unix時間戳。如果轉化失敗,則返回0。

舉例:hive>   select unix_timestamp(』2011-12-07 13:01:03′) from dual;

1323234063

指定格式日期轉unix時間戳函式: unix_timestamp語法:   unix_timestamp(string date, string pattern)

返回值:   bigint

說明: 轉換pattern格式的日期到unix時間戳。如果轉化失敗,則返回0。

舉例:hive>   select unix_timestamp(』20111207 13:01:03′,』yyyymmdd hh:mm:ss』) from dual;

1323234063

日期時間轉日期函式: to_date語法:   to_date(string timestamp)

返回值:   string

說明: 返回日期時間欄位中的日期部分。

舉例:hive>   select to_date(』2011-12-08 10:03:01′) from dual;

2011-12-08

日期轉年函式: year語法:   year(string date)

返回值: int

說明: 返回日期中的年。

舉例:hive>   select year(』2011-12-08 10:03:01′) from dual;

2011

hive>   select year(』2012-12-08′) from dual;

日期轉月函式: month語法: month   (string date)

返回值: int

說明: 返回日期中的月份。

舉例:hive>   select month(』2011-12-08 10:03:01′) from dual;

12hive>   select month(』2011-08-08′) from dual;

8日期轉天函式: day語法: day   (string date)

返回值: int

說明: 返回日期中的天。

舉例:hive>   select day(』2011-12-08 10:03:01′) from dual;

8hive>   select day(』2011-12-24′) from dual;

24日期轉小時函式: hour語法: hour   (string date)

返回值: int

說明: 返回日期中的小時。

舉例:hive>   select hour(』2011-12-08 10:03:01′) from dual;

10日期轉分鐘函式: minute語法: minute   (string date)

返回值: int

說明: 返回日期中的分鐘。

舉例:hive>   select minute(』2011-12-08 10:03:01′) from dual;

3日期轉秒函式: second語法: second   (string date)

返回值: int

說明: 返回日期中的秒。

舉例:hive>   select second(』2011-12-08 10:03:01′) from dual;

1日期轉周函式: weekofyear語法:   weekofyear (string date)

返回值: int

說明: 返回日期在當前的週數。

舉例:hive>   select weekofyear(』2011-12-08 10:03:01′) from dual;

49日期比較函式: datediff語法:   datediff(string enddate, string startdate)

返回值: int

說明: 返回結束日期減去開始日期的天數。

舉例:hive>   select datediff(』2012-12-08′,』2012-05-09′) from dual;

213日期增加函式: date_add語法:   date_add(string startdate, int days)

返回值: string

說明: 返回開始日期startdate增加days天後的日期。

舉例:hive>   select date_add(』2012-12-08′,10) from dual;

2012-12-18

日期減少函式: date_sub語法:   date_sub (string startdate, int days)

返回值: string

說明: 返回開始日期startdate減少days天後的日期。

舉例:hive>   select date_sub(』2012-12-08′,10) from dual;

2012-11-28

獲取當前日期 unix_timestamp()

select from_unixtime(unix_timestamp(),'yyyy-mm-dd hh:mm:ss') from dual;

from_unixtime(unix_timestamp(),'yyyy-mm-dd hh:mm:ss') as updatetime

一年前select date_sub(from_unixtime(unix_timestamp(),'yyyy-mm-dd'),365);

一年後select date_add(from_unixtime(unix_timestamp(),'yyyy-mm-dd'),365);

hive 時間操作函式

日期函式unix時間戳轉日期函式 from unixtime語法 from unixtime bigint unixtime string format 返回值 string 說明 轉化unix時間戳 從1970 01 01 00 00 00 utc到指定時間的秒數 到當前時區的時間格式 舉例 hi...

hive時間操作函式

標籤 hive 函式linux 2016 12 21 16 07 49人閱讀收藏 舉報 hive 日期函式unix時間戳轉日期函式 from unixtime語法 from unixtime bigint unixtime string format 返回值 string 說明 轉化unix時間戳 ...

Hive 時間函式

to date 日期時間轉日期函式select to date 2015 04 02 13 34 12 輸出 2015 04 02from unixtime 轉化unix時間戳到當前時區的時間格式select from unixtime 1323308943,yyyymmdd 輸出 20111208...