【问题标题】:Max date removal and uaing last buisness date in oracle sql在 oracle sql 中删除最大日期并使用最后一个业务日期
【发布时间】:2021-05-22 06:09:45
【问题描述】:
Select max( date) from t1 t where a.calendar_ date= t.date

当月在周末或节假日结束时,此查询会产生问题。此查询与另一个表连接,因此我需要一个查询,使用它可以获得正确的日期。

【问题讨论】:

  • 你怎么知道假期是什么时候?您需要一个包含该信息的表格。

标签: sql oracle date max


【解决方案1】:

“假期”很难,因为它们是区域性的并且每年都在变化。您应该保留一个包含假期日期的表格,以便您可以使用以下内容排除它们:

Select max(date)
from t1 t 
LEFT JOIN holidays h on t.date = h.date
where
  h.date IS NULL AND --not a holiday
  (1 + TRUNC (t.date) - TRUNC (t.date, 'IW')) NOT IN (6,7) AND -- not a weekend, regardless of region

  a.calendar_date= t.date

ps;我不知道你的 a 别名来自哪里

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-25
    • 1970-01-01
    相关资源
    最近更新 更多