hive sql的常用日期处理函数总结
1)date_format函数(根据格式整理日期)
作用:把一个字符串日期格式化为指定的格式。
select date_format('2017-01-01','yyyy-MM-dd HH:mm:ss'); --日期字符串必须满足yyyy-MM-dd格式
结果:2017-01-01 00:00:00
2)date_add、date_sub函数(加减日期)
作用:把一个字符串日期格式加一天、减一天。
select date_add('2019-01-01',1); --字符串必须满足yyyy-MM-dd格式
结果:2019-01-02
select date_sub('2019-01-01',1); --字符串必须满足yyyy-MM-dd格式
结果:2018-12-31
3)next_day函数
作用:得到一个字符串日期的下周几的具体日期
select next_date('2020-01-01','Fri'); --得到2020-01-01往后的第一个周五
结果:2020-01-03
4)last_day函数(求当月最后一天日期)
作用:求当月的最后一天日期
select last_day('2020-01-01');
结果:select last_day('2020-01-01');
5)from_unixtime(‘bigint时间戳’,‘pattern’)函数 5,6在一起用,常用来把非yyyy-MM-dd的日期字符串转为标准的yyyy-MM-dd的日期字符串
作用:把一个大数字时间戳,转换为指定格式的日期字符串
select from_unixtime(1517725479,'yyyy-MM-dd HH:dd:ss'); select from_unixtime(1517725479,'yyyyMMdd');
结果:2018-02-04 14:04:39
20180204
6)unix_timestamp('日期字符串',‘pattern’) 5,6在一起用,常用来把非yyyy-MM-dd的日期字符串转为标准的yyyy-MM-dd的日期字符串
作用:把指定格式的日期转成时间戳
select unix_timestamp('2020/01/01','yyyy/MM/dd');
结果:1577808000
7)current_date()
作用:得到当前的日期字符串
select current_date();
结果:2020-01-01
8)current_timestamp()
作用:得到当前的时间字符串
select current_timestamp();
结果:2020-01-01 13:52:46.018
9) unix_timestamp()
作用:得到当前的时间戳
select unix_timestamp();
结果:1577858367