Hive時間處理函式

2021-08-04 22:36:46 字數 3320 閱讀 6143

from_unixtime(bigint unixtime[, string

format])

返回值:string

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

舉例:

hive> select from_unixtime(1501819932, 'yyyymmdd') from demo;

20170804

語法:

unix_timestamp

()

返回值: bigint

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

舉例:

hive> select unix_timestamp() from demo;

1501819932

語法:

unix_timestamp(string

date)

返回值: bigint

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

舉例:

hive> select unix_timestamp('2017-08-04 11:40:03') from demo;

1501818003

語法:

unix_timestamp(string

date, string pattern)

返回值: bigint

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

舉例:

hive> select unix_timestamp('20170804 11:40:03','yyyymmdd hh:mm:ss') from demo;

1501818003

語法:

to_date

(string timestamp)

返回值: string

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

舉例:

hive> select to_date('2017-08-04 11:40:03') from demo;

2017-08-04

語法:

year(string

date)

返回值: int

說明:返回日期中的年。

舉例:

hive> select year('2017-08-04 11:40:03') from demo;

2017

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

2017

語法:

month(string

date)

返回值:int

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

舉例:

hive> select month('2017-08-04 11:40:03') from demo;

8hive> select month('2017-08-04') from demo;

8

語法:

day(string

date)

返回值:int

說明:返回日期中的天。

舉例:

hive> select day('2017-08-04 10:03:01') from demo;

4

語法:

hour(string

date)

返回值: int

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

舉例:

hive> select hour('2017-08-04 11:40:01') from demo;

11

語法:

minute(string

date)

返回值: int

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

舉例:

hive> select minute('2017-08-04 11:40:01') from demo;

40

語法:

second(string

date)

返回值: int

說明: 返回日期中的秒。

舉例:

hive> select second('2017-08-04 11:40:01') from demo;

1

語法:

weekofyear(string

date)

返回值: int

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

舉例:

hive> select weekofyear('2017-08-04 11:40:01') from demo;

31

語法:

datediff(string enddate, string startdate)
返回值: int

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

舉例:

hive> select datediff('2017-08-04','2015-05-09') from demo;

818

語法:

date_add(string startdate, int days)
返回值: string

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

舉例:

hive> select date_add('2017-08-04',10) from demo;

2017-08-14

00:00:00

語法:

date_sub(string startdate, int days)
返回值: string

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

舉例:

hive> select date_sub('2017-08-04',10) from demo;

2017-07-25

00:00:00

hive中的時間處理函式

返回值 string 說明 轉化unix時間戳 從1970 01 01 00 00 00 utc到指定時間的秒數 到當前時區的時間格式 舉例 hive select from unixtime 1323308943,yyyymmdd from dual 20111208 獲取當前unix時間戳函式 ...

Hive時間處理

時間戳 unix timestamp 時間戳轉日期 from unixtime 時間hive語句 上月1號 trunc add months current date 1 mm 本月1號 trunc current date mm 下月1號 trunc add months current date...

Hive 時間函式

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