在hive数据开发的过程中,我们总是会遇到一些特殊日期获取的需求,这个时候我们免不了要去百度参考别人的答案,然后自己再来实践,这里我把在工作中遇到的特殊日期的获取SQL开发积累整理下来,并将会持续更新,关注收藏不迷路哟!
1,获取今天的日期
select current_date() from table;
-- 2022-07-20
2,获取当前时间
select current_timestamp() from table;
-- 2022-07-20 11:22:25.445
3,获取昨天的日期
SELECT date_sub(FROM_UNIXTIME(UNIX_TIMESTAMP()),1)
FROM table;
-- 2022-07-19
4,获取当月天数(当月最后一天)
SELECT substr(last_day(from_unixtime(unix_timestamp(),'yyyy-MM-dd')),9,10)
FROM table;
--31
5,获取上个月天数
select substr(last_day(add_months(CURRENT_DATE,-1)),9,10)
FROM table;
--30
6,获取当天是本年的第几天
select CURRENT_date(),datediff(CURRENT_date(), concat(year(CURRENT_date())-1,'-12-31'))
from table ;
--2022-07-20 201
7,获取当天是本周周几
select current_date(),
case pmod(datediff(current_date(), '1920-01-01') - 3, 7)
when 0 then '星期天' when 1 then '星期一'
when 2 then '星期二' when 3 then '星期三'
when 4 then '星期四' when 5 then '星期五'
when 6 then '星期六'
else '其它' end as week_day
FROM table;
-- 2022-07-20 星期三
8,获取今天是一年中的第多少周
SELECT current_date(),
weekofyear(current_date())
FROM table;
-- 2022-07-20 29
9,返回当月第一天
select trunc(‘2022-06-07’,‘MM) FROM table;
–2022-07-01
10,返回当年第一天
select trunc(‘2022-06-07’,‘YEAR) FROM table;
–2022-01-01
好了,今天的分享到这里就结束了,我是喵~~,欢迎大家一起交流学习哦!!!