1得到周一
select date_sub('${#date(0,0,0):yyyy-MM-dd#}',pmod(datediff('${#date(0,0,0):yyyy-MM-dd#}', '2018-08-06'), 7))
2.得到这月一号,上月一号
思路 今天日期-(今天是这月多少号-1)得到这月一号,在这基础上-1月
impala实现
得到上月一号
select from_unixtime(unix_timestamp(months_sub(date_sub(now(), dayofmonth(now())-1), 1)),"yyyy-MM-dd")
得到这月一号
select from_unixtime(unix_timestamp(months_sub(date_sub(now(), dayofmonth(now())-1), 0)),"yyyy-MM-dd")
hive实现
这月一号
date_sub(current_date,dayofmonth(current_date)-1)
上月一号
add_months(date_sub(current_date,dayofmonth(current_date)-1), -1)
下月一号
add_months(date_sub(current_date,dayofmonth(current_date)-1), 1)
按这个思路可以得到月的任意一天
待续
博客介绍了使用Hive和Impala进行日期查询的方法。包括获取周一的查询语句,以及在Impala和Hive中分别实现获取本月一号、上月一号、下月一号的方法,按此思路还可获取月的任意一天。
1万+

被折叠的 条评论
为什么被折叠?



