我试图在Hive查询中找到从当前日期减去1年和1个月的最佳方法。使用以下内容,我不相信它会考虑到闰年,或者如果月份有不同的天数,那么最终代码将会中断。任何帮助将不胜感激!
set my_date = from_unixtime(unix_timestamp()-365*60*60*24, 'yyyy-MM-dd');
set my_date = from_unixtime(unix_timestamp()-30*60*60*24, 'yyyy-MM-dd');
感谢!
-Rebecca
答案 0 :(得分:-1)
如果您的日期格式类似于Hive中的yyyy-MM-dd hh:mm:ss,则可以使用以下功能轻松实现
concat((year(date_field)-1),' - ',(month(date_field)-1),' - ',day(date_field))
使用IF和CASE函数来实现您的逻辑,以查找它是否为闰年(将年份除以4)