参考了各种博文,学习记录(只记录了工作中用到的):
1. hive 获取当前系统时间:
from_unixtime(unix_timestamp(),'yyyyMMdd HH:mm:ss')
2. 日期格式转换:yyyyMMdd yyyy-MM-dd 相互转换
from_unixtime(unix_timestamp('20210617','yyyy-MM-dd'),'yyyyMMdd')
from_unixtime(unix_timestamp('20210617','yyyyMMdd'),'yyyy-MM-dd')
3. 获取本年最后一天
last_day(add_months(trunc('2021-06-17','YY'),11))
注:trunc函数传的日期格式,如果是 20210617 获取的会是 NULL
4. 获取本月最后一天
last_day('2021-06-17')
5. 获取本年,本月 第一天
select trunc('2021-06-17','YY') from tablename;
select trunc('2021-06-17','MM') from tablename;
注: YY , MM 要大写