Hive中日期处理函数

date_format:将日期进行格式化

select date_format('2019-06-29 13:03:50','yyyy-MM-dd HH:mm:ss'); 时间的显示

date_add:对当前日期增加天数

select date_add('2020-6-5',5); 输出五天后的日期,2020-6-10  add:增加
select date_add('2020-6-5',-5);输出五天前的日期,2020-5-31 

date_sub:对当前日期减少天数

select date_add('2020-6-5',5); 输出五天前的日期,2020-5-31  sub:减少
select date_add('2020-6-5',-5);输出五天后的日期,2020-6-10

next_day:取当前日期的下一个周几

hive (default)> select next_day('2020-6-7','MO');

输出下一个周一的日期 6-7日是周日所以下一个周一的日期是6-8
说明:星期一到星期日的英文(Monday,Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday),英语单词不区分大小写
last_day:当前日期(月)的最后一天

select last_day('2020-6-7'); 结果2020-6-30

datediff:返回开始日期减去结束日期的天数

select datediff('2020-6-5','2020-6-1'); 结果:4

Hive中取最近30天数据

select * from  emp where datediff('2020-6-7 13:26:00' ,job)<=30 ;

emp: 表名
datediff('2020-6-7 13:26:00' ,job)<=30 参数():第一个写开始时间,第二个查询字段名称 ,<=30指30天内的数据。6-7日算30天内的数据。

字符串中的替换

select regexp_replace('2020/7/30','/','-');  将/替换成-  

参数值1写源数据 参数2写要替换的数据 参数3写要替换成的数据。