hive中重用的日期函式總結

2021-10-07 17:24:57 字數 4365 閱讀 5548

from_unixtime

unix時間戳轉日期函式

unix_timestamp

獲取當前unix時間戳函式

unix_timestamp

日期轉unix時間戳函式

unix_timestamp

指定格式日期轉unix時間戳函式

to_date

日期時間轉日期函式

year

日期轉年函式

month

日期轉月函式

day日期轉天函式

hour

日期轉小時函式

minute

日期轉分組函式

second

日期轉秒函式

datediff

日期比較函式

date_add

日期新增函式

date_sub

日期減少函式

語法:

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_timestamp(

)

返回值: bigint

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

舉例:

hive>

select unix_timestamp(

)from dual;

1323309615

語法:

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_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(string timestamp

)

返回值: string

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

舉例:

hive>

select to_date(

'2011-12-08 10:03:01'

)from dual;

2011-12

-08

語法:

year

(string date

)

返回值: int

說明: 返回日期中的年。

舉例:

hive>

select

year

('2011-12-08 10:03:01'

)from dual;

2011

hive>

select

year

('2012-12-08'

)from dual;

2012

語法:

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

(string date

)

返回值: int

說明: 返回日期中的天。

舉例:

hive>

select

day(

'2011-12-08 10:03:01'

)from dual;

8hive>

select

day(

'2011-12-24'

)from dual;

24

語法:

hour

(string date

)

返回值: int

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

舉例:

hive>

select

hour

('2011-12-08 10:03:01'

)from dual;

10

語法:

minute

(string date

)

返回值: int

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

舉例:

hive>

select

minute

('2011-12-08 10:03:01'

)from dual;

3

語法:

second

(string date

)

返回值: int

說明: 返回日期中的秒。

舉例:

hive>

select

second

('2011-12-08 10:03:01'

)from dual;

1

語法:

weekofyear (string date

)

返回值: int

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

舉例:

hive>

select weekofyear(

'2011-12-08 10:03:01'

)from dual;

49

語法:

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

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

舉例:

hive>

select datediff(

'2012-12-08'

,'2012-05-09'

)from dual;

213

語法:

date_add(string startdate,

int days)

返回值: string

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

舉例:

hive>

select date_add(

'2012-12-08',10

)from dual;

2012-12

-18

語法:

date_sub (string startdate,

int days)

返回值: string

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

舉例:

hive>

select date_sub(

'2012-12-08',10

)from dual;

2012-11

-28

Hive日期函式總結

1.時間戳函式 日期轉時間戳 從1970 01 01 00 00 00 utc到指定時間的秒數 select unix timestamp 獲得當前時區的unix時間戳 select unix timestamp 2017 09 15 14 23 00 select unix timestamp 2...

hive函式總結 日期函式

獲取當前unix時間戳函式 unix timestamp語法 unix timestamp 返回值 bigint 說明 獲得當前時區的unix時間戳 舉例 hive select unix timestamp from dual ok1455616811 time taken 0.785 secon...

Hive中日期函式總結

hive中日期函式總結 1.時間戳函式 日期轉時間戳 從1970 01 01 00 00 00 utc到指定時間的秒數 select unix timestamp 獲得當前時區的unix時間戳 select unix timestamp 2017 09 15 14 23 00 select unix...