【问题标题】:If actual date is Friday, also show rows at saturday and sunday Oracle DB如果实际日期是星期五,还显示星期六和星期日的行 Oracle DB
【发布时间】:2014-02-17 16:56:54
【问题描述】:

通常我只显示一条记录,如果实际日期比数据库中的日期晚一年。如何检查那天是否是星期五,然后还显示带有星期六或星期日日期的记录?

例如:一年前的 13 号星期五。我还将显示 14 日(星期六)和 15 日(星期日)的记录

where myDate.arrival < TRUNC (SYSDATE) -365)

这是我的真实陈述。

【问题讨论】:

  • 案例陈述?用户定义函数?查询周末表?您需要提供更多信息。
  • 对不起,我原来的问题是错误的。我添加了一些信息

标签: sql oracle date weekend


【解决方案1】:

你需要一个条件以防万一。查看以下示例以供参考:

WHERE txnday in 
  CASE to_char(sysdate, 'Day')
      WHEN 'Friday' THEN // Include condition for Sat and Sun as well
      ELSE // Include condition for only that day
  END

【讨论】:

    【解决方案2】:
    Where Mydate.Arrival < Trunc (Sysdate) - 365
    Or (to_char(Mydate.Arrival, 'D') = 6 AND Mydate.Arrival < Trunc (Sysdate) -363)
    

    这样,您可以检查那一天是否是星期五(一周中的第 6 天),然后选择 Arrival 值小于 sysdate - 363(多 2 天 - 星期六和星期日 - 包括)的记录。

    【讨论】:

    • 谢谢。我会试试这个,一旦成功就会接受答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-05
    相关资源
    最近更新 更多