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写要替换成的数据。