Hive的日期函數,Hive日期函數

來源:互聯網
上載者:User

Hive的日期函數,Hive日期函數
1.unix時間戳記轉時間函數

文法: from_unixtime(bigint unixtime[, string format])傳回值: string說明: 轉化UNIX時間戳記(從1970-01-01 00:00:00 UTC到指定時間的秒數)到當前時區的時間格式舉例:hive> select from_unixtime(1323308943,‘yyyyMMdd’) from dual;20111208
2.擷取當前時區的unix時間戳記
文法: unix_timestamp()傳回值: bigint說明: 獲得當前時區的UNIX時間戳記舉例:hive> select unix_timestamp() from dual;1323309615

3.時間轉unix時間戳記
日期轉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


4.日期時間轉日期函數
文法: to_date(string timestamp)傳回值: string說明: 返回日期時間欄位中的日期部分。舉例:hive> select to_date(’2011-12-08 10:03:01′) from dual;2011-12-08

5.擷取年份的函數
文法: year(string date)傳回值: int說明: 返回日期中的年。舉例:hive> select year(’2011-12-08 10:03:01′) from dual;2011hive> select year(’2012-12-08′) from dual;2012

6.擷取月份的函數
文法: month (string date)傳回值: int說明: 返回日期中的月份。舉例:hive> select month(’2011-12-08 10:03:01′) from dual;12hive> select month(’2011-08-08′) from dual;8

7.擷取天的函數
文法: day (string date)傳回值: int說明: 返回日期中的天。舉例:hive> select day(’2011-12-08 10:03:01′) from dual;8hive> select day(’2011-12-24′) from dual;24

8.擷取小時的函數
文法: hour (string date)傳回值: int說明: 返回日期中的小時。舉例:hive> select hour(’2011-12-08 10:03:01′) from dual;10

9.擷取分數的函數
文法: minute (string date)傳回值: int說明: 返回日期中的分鐘。舉例:hive> select minute(’2011-12-08 10:03:01′) from dual;3

10.擷取秒的函數
文法: second (string date)傳回值: int說明: 返回日期中的秒。舉例:hive> select second(’2011-12-08 10:03:01′) from dual;1
11.擷取日期在當前的周數
文法: weekofyear (string date)傳回值: int說明: 返回日期在當前的周數。舉例:hive> select weekofyear(’2011-12-08 10:03:01′) from dual;49

12.日期比較函數
文法: datediff(string enddate, string startdate)傳回值: int說明: 返回結束日期減去開始日期的天數。舉例:hive> select datediff(’2012-12-08′,’2012-05-09′) from dual;213

13.日期增加函數
文法: date_add(string startdate, int days)傳回值: string說明: 返回開始日期startdate增加days天后的日期。舉例:hive> select date_add(’2012-12-08′,10) from dual;2012-12-18

14.日期減少函數
文法: date_sub (string startdate, int days)傳回值: string說明: 返回開始日期startdate減少days天后的日期。舉例:hive> select date_sub(’2012-12-08′,10) from dual;2012-11-28

時間戳記以字串類型(帶有小數點)儲存在hive裡,現在要把時間戳記欄位轉換成時間,要用什函數,轉換

時間戳記是一個10位的整型數,沒有小數的;
看你在什麼地方使用了,如果是PHP中直接使用date("Y-m-d",hive);如果在Mysql中使用formart_date就可以直接轉換
 
在Hive中,怎將string 類的 時間戳記,轉換成日期?

你在這個時間加7200秒和減7200秒範圍內就行了
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.