在hive中计算两个日期之间的月份差

vfh0ocws  于 2021-04-03  发布在  Hive
关注(0)|答案(1)|浏览(2879)

我试图找到当前日期和列(emp_joined)之间的月数差小于24个月,列emp_joined的数据类型是int,为此,我写了以下查询来获取记录。
从表中选择id,emp_joined,其中(abs(month_between(cast(from_unixtime(unix_timestamp(current_date,'yyyy-mm-dd'),'yy-mm-dd'))<24)
但查询返回的是当前日期和列emp_joined之间不小于24个月的所有记录,有谁能帮我解决这个问题。

bprjcwpo

bprjcwpo1#

months_between接受yyyy-mm-dd格式的日期,试试这个。

where abs(cast(months_between(current_date, 
                              from_unixtime(unix_timestamp(cast(emp_joined as string),'yyMMdd'),'yyyy-MM-dd')
              )as int)) < 24

相关问题