Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Musisz znaleźć następny i poprzedni dzień roboczy w Oracle

Odpowiedź @Tawman będzie działać, ale wolę tę metodę dla czytelności:

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

Jak wszyscy stwierdzili, będzie to działać tylko w celu wykluczenia weekendów, a nie świąt.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak używać XML do tworzenia obiektu OCI-Lob?

  2. Dlaczego to_timestamp_tz Oracle zwraca niewłaściwą godzinę i/lub strefę czasową?

  3. Utworzyć więcej niż jedną procedurę w pliku SQL?

  4. Najszybszy sposób na aktualizację dużej liczby wierszy z parametrem wejściowym List<T> w MyBatis do Oracle db

  5. Najlepszy sposób na zbiorcze wstawianie danych do bazy danych Oracle