You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从record_b表筛选begin_date至end_date包含指定年月的记录?

问题

我有一张record_b表,表结构及数据如下:

idbegin_dateend_date
22022-09-042022-10-03
32022-10-042022-10-31
42022-11-042022-12-03
52022-12-042023-01-03
62023-01-042023-02-03
72023-02-04null

需求:输入指定年月(格式为YYYY-MM),筛选出begin_date至end_date的时间区间与该年月存在交集的记录。示例:

  • 输入2023-01,应返回id为5和6的记录
  • 输入2022-12,应返回id为4和5的记录

我尝试用BETWEEN语句实现,但处理跨年的月份时存在问题,当前使用的代码片段如下:

and v_year BETWEEN EXTRACT(YEAR FROM PC.begin_date)
            AND EXTRACT(YEAR FROM PC.end_date)
        AND v_month BETWEEN EXTRACT(MONTH FROM PC.begin_date)
            AND EXTRACT(MONTH FROM PC.end_date)

内容的提问来源于stack exchange,提问作者Jake Paul

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 23:50:23