当前位置:   article > 正文

Hive常用时间操作函数--持续更新_hive有interval 1 month用法吗

hive有interval 1 month用法吗

TRUNC函数

select trunc(current_date(),'MM');
//结果:2022-08-01
select trunc(current_date(),'YY');
//结果:2022-01-01
  • 1
  • 2
  • 3
  • 4

INTERVAL函数

select current_date() - interval 1 day;
//结果:2022-08-29
select current_date() - interval 1 month;
//结果:2022-07-30
select current_date() - interval 1 year;
//结果:2021-08-30
//还可以减时分秒
还可以按照年月,月日,日时,时分,分秒的格式来间隔
select current_date()  - INTERVAL '1 1' year_month;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

求上个月第一天

select trunc(add_months(current_date(),-1),'MM');
  • 1

动态时间序列

SELECT
  date_add(start_date, indexs) trade_date,1 flag
FROM (SELECT '2022-08-01' AS start_date, '2022-10-11' AS end_date)
  dt lateral VIEW posexplode(split(space(DATEDIFF(end_date, start_date)), '')) dt_sp AS indexs,val;
  • 1
  • 2
  • 3
  • 4

本周第一天

select DATE_ADD(NEXT_DAY('2022-10-11','MO'),-7);
  • 1

当前星期几

//周日为0
select pmod(datediff(CURRENT_DATE(),"1920-01-01") - 3,7);
  • 1
  • 2

千分位展示

//第一个参数是数字,第二个参数是要舍入的小数位数。如果为0,则结​​果没有小数点
select format_number(898765.099,2);
  • 1
  • 2

当前时间上个季度第一天

SELECT date_format(add_months(concat(year(date_sub(current_date(),1)),'-',substr(concat('0',floor((month(date_sub(current_date(),1))+2)/3)*3+1),-2),'-01'),-6),'yyyy-MM-dd') start_date;
  • 1

当前时间上个季度最后一天

SELECT date_format(add_months(last_day(concat(year(date_sub(current_date(),1)),'-',quarter(date_sub(current_date(),1))* 3,'-01')),-3),'yyyy-MM-dd') end_date;
  • 1

当前时间本季度第一天和最后一天

//本季度第一天
SELECT date_format(add_months(concat(year(date_sub(current_date(),1)),'-',substr(concat('0',floor((month(date_sub(current_date(),1))+2)/3)*3+1),-2),'-01'),-3),'yyyy-MM-dd') start_date;
//本季最后一天
SELECT date_format(last_day(concat(year(date_sub(current_date(),1)),'-',quarter(date_sub(current_date(),1))* 3,'-01')),'yyyy-MM-dd') end_date;
  • 1
  • 2
  • 3
  • 4
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/313843?site
推荐阅读
相关标签
  

闽ICP备14008679号