Hive时间处理
Hive时间处理
时间戳:unix_timestamp
时间戳转日期:from_unixtime
常用时间写法
时间 | Hive语句 |
---|---|
上月1号 | trunc(add_months(current_date(),-1),'MM') |
本月1号 | trunc(current_date(),'MM') |
下月1号 | trunc(add_months(current_date(),1),'MM') |
本月时间范围 | substr(date,0,10)>=trunc(current_date(),'MM') and substr(date,0,10)<trunc(add_months(current_date(),1),'MM') |
时间偏移一个月 | add_months(current_date,-1) |
上月时间范围 | substr(date,0,10)>=trunc(add_months(current_date(),-1),'MM') and substr(date,0,10)<trunc(add_months(current_date(),0),'MM') |
近一周数据 | substr(date,0,10)>=date_sub(current_date(),7) and substr(date,0,10)<current_date() |
近一月数据 | substr(date,0,10)>=date_sub(current_date(),30) and substr(date,0,10)<current_date() |
本周周一日期 | date_sub(current_date(),cast(date_format(current_date(),'u') as int)-1) |
上周周一日期 | date_sub(current_date(),cast(date_format(current_date(),'u') as int)-1+7) |
上周时间 | substr(date,0,10)>=date_sub(current_date(),cast(date_format(current_date(),'u') as int)-1+7) and substr(date,0,10)<date_sub(current_date(),cast(date_format(current_date(),'u') as int)-1) |
本周时间 | substr(date,0,10)>=date_sub(current_date(),cast(date_format(current_date(),'u') as int)-1) and substr(date,0,10)<current_date() |
今年年初日期 | trunc(current_date(),'YYYY') |
今年(到昨日) | substr(date,0,10)>=trunc(current_date(),'YYYY') and substr(date,0,10)<current_date() |
今年(到上月) | substr(date,0,10)>=trunc(current_date(),'YYYY') and substr(date,0,10)<trunc(current_date(),'MM') |
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步