Hive中常用的日期处理函数

1、常用函数

1、获取当前日期

select current_timestamp; //获取当前时间
//2020-11-27 15:37:10.041
select current_date(); //获取当前日期
//2020-11-27
select unix_timestamp(current_timestamp); //获取当前时间戳
//1606462580

2、时间戳转日期函数:from_unixtime,语法为from_unixtime(bigint unixtime, stringformat)

from_unixtime(‘时间戳’,‘格式’)

select from_unixtime('1606462580','yyyyMMdd')
--20201127

3、日期格式化

date_format(date,格式)

select date_format(current_timestamp(),'yyyy-MM-dd HH-ss-mm');
//2020-11-27 15-16-42
select date_format(current_timestamp(),'yyyy-MM-dd');
//2020-11-27

4、日期加法函数

date_add(‘date’,天数)

select date_add('2020-11-27',3);
//2020-11-30

5、日期减法函数

date_sub(‘date’,天数)

select date_sub('2020-11-27',3);
//2020-11-24

6、日期比较函数

datediff(date1,date2)

select datediff('2020-11-27','2020-11-30');
//-3

7、获取该日期的下一个周几的日期

next_day(date,dayofweek)
星期一到星期日的英文(Monday,Tuesday、Wednesday、Thursday、Friday、Saturday、Sunday)

select next_day('2020-11-27',"Mo");
//2020-11-30

8、获取当月的最后一天日期

last_day(date)

select last_day('2020-11-27');
//2020-11-30

9、查询该日期在本月的第多少天

dayofmonth(‘date’)

 select dayofmonth('2020-11-27');
 //27

10、获取年、月、日、小时、分钟、秒

select year(current_timestamp()); //2020
select month(current_timestamp()); //11
select day(current_timestamp()); //27
select hour(current_timestamp()); //15
select minute(current_timestamp()); //58
select second(current_timestamp()); //51

总结:

在日常hive计算中,最常用的日期函数有5个:

date_format:常用于处理月指标

date_add或date_sub: 常用于处理日指标

next_day:常用于处理周指标

last_day:常用于处理月指标

datediff:常用于处理日指标

2、常见指标

1、求当月第N天

-- 先获取该日期在该月的第n天,然后当前日期减去第(n-1)天,再增加(m-1)天
select date_add(date_sub('2020-11-27',dayofmonth('2020-11-27')-1),5);
//此时N=6
//220-11-06

2、求下月第一天

-- 先获取最后一天,然后日期+1,则为下一月第一天
select date_add(last_day('2020-11-27'),1);
//2020-12-01

3、求本周一的日期

-- 先获取下周一的日期,然后减去7天,则为本周一日期
select date_add(next_day(current_date,"MO"),-7);
//2020-11-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值