首页 > 解决方案 > Hive 查询以获取另一个日期一个月范围内的日期

问题描述

我有一个查询如下:

select product_id, approved_date, event_date from table1

我必须确保在批准日期的 1 个月内提取具有 event_date 的 product_id。

例如,如果 event_date 是 2020-04-11,则批准日期应介于 2020-03-11 和 2020-04-10 之间 有人可以帮忙解决这个问题吗?

标签: sqlhivehiveql

解决方案


您可以使用 MONTHS_BETWEEN 检查两个日期之间的差异:

SELECT product_id, approved_date, event_date
FROM table1
WHERE ABS(CAST(MONTHS_BETWEEN(event_date, approved_date) AS INT)) <=1

只需确保使用 ABS 在 event_date 之前和之后包含approved_date


推荐阅读