Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Sie müssen den nächsten und vorherigen Arbeitstag in Oracle finden

@Tawmans Antwort wird funktionieren, aber ich bevorzuge diese Methode für die Lesbarkeit:

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

Wie alle anderen gesagt haben, funktioniert dies nur, um Wochenenden auszuschließen, keine Feiertage.