gpt4 book ai didi

oracle - 需要在 oracle 中查找下一个和上一个工作日

转载 作者:行者123 更新时间:2023-12-01 15:23:27 26 4
gpt4 key购买 nike

我的查询有点像这样:

select 1 from dual where :p1_task_date in (sysdate,sysdate+1,sysdate-1) and :p1_task_id is not null

这工作正常,但我想获得下一个/上一个工作日(下一个/上一个工作日)而不是 sysdate+1 和 sysdate-1。我试过类似的东西:

select next_day(sysdate, to_char(sysdate+1,'DAY')) from dual`

但无法继续进行:(

请帮忙!!!!

最佳答案

@Tawman 的回答会奏效,但为了可读性,我更喜欢这种方法:

select sysdate as current_date,
case when to_char(sysdate,'D') in (1,6,7)
then next_day(sysdate,'Monday')
else sysdate+1 end as next_weekday,
case when to_char(sysdate,'D') in (1,2,7)
then next_day(sysdate-7,'Friday')
else sysdate-1 end as prev_weekday
from dual

正如其他人所说,这只会排除周末,而不是假期。

关于oracle - 需要在 oracle 中查找下一个和上一个工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4677984/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com