繁体   English   中英

在 Oracle SQL 中计算周结束日期,其中周开始是当前 FRI 的前一个 SAT

[英]Calculate Week Ending date in Oracle SQL where the week start is the previous SAT to the current FRI

我的表中有一个交易日期,我想为其计算周结束日期

问题是我们有几个星期从星期六到星期五,别问我为什么,

所以例如本周,今天是 10/5/2020,周末日期应该是 10/09/2020

而这个星期六,10/10/2020,将是一周的结束日期 10/16/2020。

有谁知道如何正确实现这一目标?

你可以使用next_day()

select t.*,
    case when to_char(mydate, 'FMDAY') = 'FRIDAY' 
        then mydate
        else next_day(mydate, 'FRIDAY')
    end as endofweek
from mytable t

请注意, to_char(..., 'DAY')next_day()都取决于会话的语言。 如果您的数据库或会话不是英语,则需要调整文字字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM