【问题标题】:SQL to return dates between yesterday and the last two/one full months based on today's dateSQL 根据今天的日期返回昨天和最后两个/一个完整月之间的日期
【发布时间】:2021-01-17 07:35:43
【问题描述】:

我正在尝试使用以下逻辑根据日期字段提取数据: 在哪里 (当 to_char(sysdate,'d')

示例: 如果今天的日期是 10 月 5 日,那么我需要 8 月 1 日到 10 月 4 日之间的所有数据 如果今天的日期是 10 月 10 日,那么我需要 9 月 1 日到 10 月 9 日之间的日期

【问题讨论】:

  • 使用 AND/OR 代替大小写。

标签: sql case sysdate


【解决方案1】:

这个怎么样?

where a.dte_entered >= (trunc(sysdate, 'MON') - 
                        (case when extract(day from sysdate) < 6 then interval '2' month else interval '1' month
                        )
                       ) and
      a.dte_entered < trunc(sysdate)

【讨论】:

  • 嗯似乎不喜欢它...我收到一条错误消息,提示“缺少关键字”
  • 只是缺少一个“结束”来完成案例陈述。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-28
  • 2018-08-12
  • 1970-01-01
相关资源
最近更新 更多