Calculer les jours ouvrés dans Oracle SQL : formule améliorée sans fonctions ni procédures
Le calcul des jours ouvrés entre deux dates dans Oracle SQL est essentiel pour un variété d'applications métiers. Voici une approche améliorée pour y parvenir sans recourir à des fonctions ou des procédures intégrées.
Le code précédent que vous avez fourni présentait des écarts occasionnels dans ses calculs. Pour résoudre ce problème, envisagez les modifications suivantes :
Voici le code affiné :
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;
Ce calcul amélioré devrait fournir des résultats précis pour les jours ouvrables, alignés sur la fonction NETWORKDAYS d'Excel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!