--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('2017-09-15 14:23:00','yyyy-mm-dd hh:mm:ss');
select unix_timestamp('20170915 14:23:00','yyyymmdd hh:mm:ss');
--時間戳轉日期
select from_unixtime(1505456567);
select from_unixtime(1505456567,'yyyymmdd');
select from_unixtime(1505456567,'yyyy-mm-dd hh:mm:ss');
select from_unixtime(unix_timestamp(),'yyyy-mm-dd hh:mm:ss'); --獲取系統當前時間
--2.獲取當前日期: current_date
hive> select current_date from dual
2017-09-15
--3.日期時間轉日期:to_date(string timestamp)
hive> select to_date('2017-09-15 11:12:00') from dual;
2017-09-15
--3.獲取日期中的年/月/日/時/分/秒/周
with dtime as(select from_unixtime(unix_timestamp(),'yyyy-mm-dd hh:mm:ss') as dt)
select year(dt),month(dt),day(dt),hour(dt),minute(dt),second(dt),weekofyear(dt)
from dtime
--4.計算兩個日期之間的天數: datediff
hive> select datediff('2017-09-15','2017-09-01') from dual;
14--5.日期增加和減少: date_add/date_sub(string startdate,int days)
hive> select date_add('2017-09-15',1) from dual;
2017-09-16
hive> select date_sub('2017-09-15',1) from dual;
2017-09-14
--其他日期函式
查詢當前系統時間(包括毫秒數): current_timestamp;
查詢當月第幾天: dayofmonth(current_date);
月末: last_day(current_date)
當月第1天: date_sub(current_date,dayofmonth(current_date)-1)
下個月第1天: add_months(date_sub(current_date,dayofmonth(current_date)-1),1)
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中日期操作總結
1 獲取當前時間hive default select current date 2020 05 26hive default select current timestamp 2020 05 2616 03 09.0122 date format函式 日期格式化hive default selec...
HIVE中日期轉換
本來是sql查出來是兩條資料 select groupid,shopid,shopname,deliverytime,sku,transport type from ods amz group fee where dt 2020 12 11 and sku fba syhg372 30cm mm表示...