Hive日期格式轉換用法

2021-09-24 18:42:38 字數 3230 閱讀 3744

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

返回值: string

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

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

20111208

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

返回值:   bigint

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

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

1323309615

3.日期轉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

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

返回值:   bigint

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

舉例:hive>   select unix_timestamp('20111207 13:01:03','yyyymmddhh:mm:ss') from dual;

1323234063

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

返回值:   string

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

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

2011-12-08

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

返回值: int

說明: 返回日期中的年。

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

2011

hive>   select year('2012-12-08') fromdual;

2012

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

返回值: int

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

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

12hive>   select month('2011-08-08') fromdual;

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

返回值: int

說明: 返回日期中的天。

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

8hive>   select day('2011-12-24') fromdual;

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

返回值: int

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

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

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

返回值: int

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

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

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

返回值: int

說明: 返回日期中的秒。

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

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

返回值: int

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

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

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

返回值: int

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

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

21314.日期增加函式: date_add語法:   date_add(string startdate, intdays) 

返回值: string

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

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

2012-12-18

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

返回值: string

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

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

2012-11-28

select max(from_unixtime(unix_timestamp(lastlogintime, 'yyyy-mm-dd hh:mm:ss'))),               

> min(from_unixtime(unix_timestamp(lastlogintime, 'yyyy-mm-dd hh:mm:ss')))

> from log_user;

原文: 

Hive日期格式轉換用法

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

Hive日期格式轉換用法

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

Hive日期格式轉換用法

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