hive函式總結 日期函式

2022-02-14 07:11:37 字數 4073 閱讀 8829

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

返回值: bigint

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

舉例:

hive>

select unix_timestamp() from

dual;

ok1455616811

time taken:

0.785 seconds, fetched: 1 row(s)

日期函式unix時間戳轉日期函式: from_unixtime

語法:from_unixtime(bigint unixtime[, string format])

返回值: string

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

舉例:

hive>

select from_unixtime(1455616811,'

yyyymmdd

') from

dual;

ok20160216

time taken:

0.221 seconds, fetched: 1 row(s)

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

返回值:bigint

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

舉例:

hive>

select unix_timestamp('

2016-02-16 14:02:03

') from

dual;

ok1455602523

time taken:

0.265 seconds, fetched: 1 row(s)

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

返回值:   bigint

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

舉例:

hive>

select unix_timestamp('

20160216 14:02:03

','yyyymmdd hh:mm:ss

') from

dual;

ok1455602523

time taken:

0.21 seconds, fetched: 1 row(s)

日期時間轉日期函式: to_date

語法:   to_date(string timestamp) 

返回值:   string

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

舉例:

hive>

select to_date('

2016-02-16 14:02:03

') from

dual;

ok2016-02

-16time taken:

0.222 seconds, fetched: 1 row(s)

日期轉年函式: year

語法:   year(string date) 

返回值: int

說明: 返回日期中的年。

舉例:

hive>

select

year('

2016-02-16 14:02:03

') from

dual;

ok2016

time taken:

0.255 seconds, fetched: 1 row(s)

hive>

select

year('

2016-02-16

') from

dual;

ok2016

time taken:

0.325 seconds, fetched: 1 row(s)

日期轉月函式: month

語法: month   (string date) 

返回值: int

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

舉例:同上

日期轉天函式: day

語法: day   (string date) 

返回值: int

說明: 返回日期中的天。

舉例:同上

日期轉小時函式: hour

語法: hour   (string date) 

返回值: int

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

舉例:同上

日期轉分鐘函式: minute

語法: minute   (string date) 

返回值: int

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

舉例:同上

日期轉秒函式: second

語法: second   (string date) 

返回值: int

說明: 返回日期中的秒。

舉例:同上

日期轉周函式: weekofyear

語法:   weekofyear (string date) 

返回值: int

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

舉例:

hive>

select weekofyear('

2016-02-16

') from

dual;ok7

time taken:

0.213 seconds, fetched: 1 row(s)

日期比較函式: datediff

語法:   datediff(string enddate, string startdate) 

返回值: int

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

舉例:

hive>

select

datediff('

2015-12-20

','2016-02-15

') from

dual;ok-

57time taken:

0.34 seconds, fetched: 1 row(s)

日期增加函式: date_add

語法:   date_add(string startdate, int days) 

返回值: string

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

舉例:

hive>

select date_add('

2015-12-08

',10) from

dual;

ok2015-12

-18time taken:

0.289 seconds, fetched: 1 row(s)

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

返回值: string

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

舉例:

hive>

select date_sub('

2015-12-08

',10) from

dual;

ok2015-11

-28time taken:

0.249 seconds, fetched: 1 row(s)

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中日期函式總結

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

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...