一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第14天,点击查看活动详情。
本文的hive函数介绍还是继续日期函数系列,日期函数真的是比较多的,谁让时间是大数据统计汇总中非常重要的一个维度呢,所以就算多也还是都要掌握呀。
10、months_between 月份比较函数 作用:获得两个月份的差值
常见使用方法:months_between(String end_week,String start_week)
具体功能描述:这个函数就是通过输入两个日期,得到相差的月数,返回的类型是double ,这里的格式要求必须是yyyy-MM-dd,如果是时间戳的通过之前的转换函数可以转成这个格式的哦。
select months_between( '2020-05-21' , '2020-03-22' );
>> 1.96774194
select months_between( '2022-05-21' , '2022-03-21' );
>> 2
复制代码
11、add_months 增加月份 作用:当前月份增加月数
常见使用方法:add_months(String end_week,int m)
具体功能描述:该函数是通过输入一个日期和int参数,对日期加上指定月数,获得新的日期,也是string格式。,如果m是负数,就是减去指定月数。
select add_months( '2020-05-21' , 1 ) -- 增加月份
>> 2020 - 06 - 01
select add_months( '2020-05-21' ,- 1 ) -- 减少月份
>> 2020 - 04 - 21
复制代码
12、trunc、last_day 获取 月初、月末函数
常见使用方法:trunc(String date,String m) ,last_day(String date)
具体功能描述:该函数可以输入一个日期,然后获得这个日期的月份的月初日期;或者是这个日期的月末日期,结合上一个增加月份的函数,就可以获得任意月份的月初和月末啦。
select trunc( '2020-05-21' , 'MM' ) -- 月初
>> 2020 - 05 - 01
select last_day( '2020-05-21' ) -- 月末
>> 2020 - 05 - 31
select trunc(add_months( '2020-05-21' ,- 1 ), 'MM' ) -- 上个月月初
>> 2020 - 04 - 01
复制代码
13、date_format 时间格式化 作用:输出指定格式的时间
常见使用方法:date_format(String date,String yyyy-mm)
具体功能描述:对输入的日期转换为指定格式输出,输出string类型的数据。
date_format(create_time, 'yyyy-MM' )
>> 2022 - 03
date_format(create_time, 'yyyy-MM-dd' )
>> 2022 - 03 - 22
复制代码