Oracle
 sql >> база данни >  >> RDS >> Oracle

Изчисляване на работни дни в Oracle SQL (без функции или процедура)

Най-накрая решението:

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;

Благодаря за всичките ви отговори!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Защо функцията to_char() на Oracle добавя интервали?

  2. Оператор МИНУС в Oracle

  3. Внедряване на OOPS в Oracle

  4. избиране на NLS_LANG за Oracle

  5. Трансформация на таблица / анализ на поле в PL/SQL