sql - 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 之间 有人可以帮忙解决这个问题吗?
解决方案
您可以使用 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
推荐阅读
- javascript - 在带有按钮的循环中:仅在单击的按钮中切换类 on_click
- r - 替换重复列名称中的点
- android - 应用发布后Playstore没有刷新新版本
- python - 如何根据常用值将数据框中的列值添加到另一个数据框中?熊猫/蟒蛇
- dataframe - 如何在 DataFrames.jl(0.19 版)中拆分列值?
- node.js - 清除缓存后如何刷新所有现有网页 使用 express 或 node.js
- html - 移动视口中的网页呈现双倍宽度
- wpf - FindVisualChildren 可以定位 ListView 的 GridViewColumns 吗?如果没有,如何解决?
- html - 如何从中删除溢出?
- node.js - How to sort array of object in mongoose/mongodb and nodejs?