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

Oblicz dni robocze w Oracle SQL (bez funkcji lub procedury)

Wreszcie rozwiązanie:

SELECT OrderNumber, InstallDate, CompleteDate,
  (TRUNC(CompleteDate) - TRUNC(InstallDate) ) +1 - 
  ((((TRUNC(CompleteDate,'D'))-(TRUNC(InstallDate,'D')))/7)*2) -
  (CASE WHEN TO_CHAR(InstallDate,'DY','nls_date_language=english')='SUN' THEN 1 ELSE 0 END) -
  (CASE WHEN TO_CHAR(CompleteDate,'DY','nls_date_language=english')='SAT' THEN 1 ELSE 0 END) as BusinessDays
FROM Orders
ORDER BY OrderNumber;

Dziękujemy za wszystkie odpowiedzi!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Transakcyjność sekwencji Oracle

  2. Jak znaleźć błędy kompilacji PLSQL?

  3. kolumna nie jest null odroczona

  4. Znajdowanie różnicy między dwoma wierszami w tabeli. Wyrocznia

  5. interwał formatu z to_char