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

报表中Date Filter Logic对应的时间范围解析问询

日期过滤逻辑解析与时间段计算

原SQL日期过滤代码:

BETWEEN (((to_date(20230822, 'yyyymmdd') - DAY (to_date(20230822, 'yyyymmdd')) DAY + 1 DAY)) +(1) MONTH) 
    AND ((((to_date(20230822, 'yyyymmdd') - DAY (to_date(20230822, 'yyyymmdd')) DAY + 1 DAY) + 1 MONTH- 1 DAY)) +(1) MONTH)

核心逻辑拆解

这段代码以20230822为基准日期,先定位到基准日期所在月份的第一天,再以此为基础计算目标时间段。

起始日期计算

  • 将数字20230822转换为日期格式:2023-08-22
  • 提取该日期的“日”部分:22
  • 用基准日期减去对应天数再加1天,得到基准月的第一天:2023-08-22 - 22天 + 1天 = 2023-08-01
  • 给该日期加1个月,得到时间段起始点:2023-09-01

结束日期计算

  • 前3步与起始日期计算一致,先得到基准月第一天2023-08-01
  • 加1个月再减1天,得到基准月的最后一天:2023-08-01 + 1个月 -1天 = 2023-08-31
  • 给该日期加1个月,由于9月没有31天,数据库会自动调整为当月最后一天:2023-09-30(即时间段结束点)

最终对应时间段

该过滤条件匹配的是2023年9月1日到2023年9月30日之间的所有日期(具体时间范围会根据数据库日期类型,默认覆盖当日的00:00:00至23:59:59)。

内容的提问来源于stack exchange,提问作者Michael McCormick

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 03:52:41