hiveSQL常用日期函式

2022-03-16 10:57:20 字數 1977 閱讀 1347

注意 mm,dd,mo,tu 等要大寫

hive 可以在 where 條件中使用 case when

已知日期

要求日期

語句結果

本週任意一天

本周一select date_sub(next_day('2016-11-29','mo'),7) ;

2016-11-28

本週任意一天

上週一select date_sub(next_day('2016-11-29','mo'),14) ;

2016-11-21

本週任意一天

本周二select date_sub(next_day('2016-11-29','mo'),6)

2016-11-29

本週任意一天

上周二select date_sub(next_day('2016-11-29','mo'),13) ;

2016-11-22

本週任意一天

上周末select date_sub(next_day('2016-11-29','mo'),8) ;

2016-11-27

本月任意一天

上月末select date_sub(trunc('2016-11-02','mm'),1);

2016-10-31

本月任意一天

上月初select trunc(add_months('2016-11-02',-1),'mm')

2016-10-01

本月任意一天

本月初select trunc('2016-11-02','mm')

2016-11-01

本月任意一天

上上月26

select date_add(add_months(trunc('2016-11-02','mm'),-2),25) ;

2016-09-26

本月任意一天

上月26

select date_add(add_months(trunc('2016-11-02','mm'),-1),25) ;

2016-10-26

當前時間戳

select current_timestamp() ;

2016-11-30 15:18:06.276

當前時間

select current_date() ;

2016-11-30

本季度任意一天

上季度初

case quarter('2016-05-23')

when 1 then concat(year('2016-05-23')-1,'-10-01')

when 2 then concat(year('2016-05-23'),'-01-01')

when 3 then concat(year('2016-05-23'),'-04-01')

when 4 then concat(year('2016-05-23'),'-07-01')

end或

add_months(concat(year('2017-02-23'),'-',substr(concat('0',quarter('2017-02-23')*3+1),-2),'-01'),-6)

本季度任意一天

本季度初

case quarter('2016-05-23')

when 1 then concat(year('2016-05-23'),'-01-01')

when 2 then concat(year('2016-05-23'),'-04-01')

when 3 then concat(year('2016-05-23'),'-07-01')

when 4 then concat(year('2016-05-23'),'-10-01')

end或

add_months(concat(year('2017-02-23'),'-',substr(concat('0',quarter('2017-02-23')*3+1),-2),'-01'),-3)

hive sql的常用日期處理函式總結

1 date format函式 根據格式整理日期 作用 把乙個字串日期格式化為指定的格式。select date format 2017 01 01 yyyy mm dd hh mm ss 日期字串必須滿足yyyy mm dd格式 結果 2017 01 01 00 00 00 2 date add ...

hivesql日期轉換

hivesql 日期轉換 2020 09 08 轉換為20200908 select from unixtime unix timestamp date sub current date,30 yyyy mm dd yyyymmdd select from unixtime 1564581347,y...

hive SQL日期應用

hive sql中日期的綜合應用 持續更新 函式日期 current date 今天的日期 上周末,至往前12周 dt between date sub next day current date mo 91 and date sub next day current date mo 8 unix ...