Oracle
 sql >> Database >  >> RDS >> Oracle

Necessità di trovare il giorno lavorativo successivo e precedente in Oracle

La risposta di @Tawman funzionerà, ma preferisco questo metodo per la leggibilità:

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

Come tutti gli altri hanno affermato, questo funzionerà solo per escludere i fine settimana, non i giorni festivi.