Heim > Datenbank > MySQL-Tutorial > Wie kann man Geschäftstage in Oracle SQL genau berechnen, ohne Funktionen oder Prozeduren zu verwenden?

Wie kann man Geschäftstage in Oracle SQL genau berechnen, ohne Funktionen oder Prozeduren zu verwenden?

Mary-Kate Olsen
Freigeben: 2024-12-31 08:26:10
Original
781 Leute haben es durchsucht

How to Accurately Calculate Business Days in Oracle SQL Without Using Functions or Procedures?

Geschäftstage in Oracle SQL berechnen: Verbesserte Formel ohne Funktionen oder Prozeduren

Das Berechnen von Geschäftstagen zwischen zwei Daten in Oracle SQL ist für a unerlässlich Vielzahl von Geschäftsanwendungen. Hier ist ein erweiterter Ansatz, um dies zu erreichen, ohne auf integrierte Funktionen oder Prozeduren angewiesen zu sein.

Der vorherige Code, den Sie bereitgestellt haben, wies gelegentlich Diskrepanzen in seinen Berechnungen auf. Um dieses Problem zu beheben, ziehen Sie die folgenden Änderungen in Betracht:

  • Kürzung der Datumsangaben mit TRUNC(CompleteDate) und TRUNC(InstallDate), um Zeitkomponenten zu entfernen und sich ausschließlich auf die Geschäftstage zu konzentrieren.
  • Berechnen die Wochentagsdifferenz mit (TRUNC(CompleteDate,'D'))-(TRUNC(InstallDate,'D')) und dividieren um 7, um Wochenenden zu berücksichtigen.
  • Wenden Sie eine bedingte Logik an, um anzupassen, dass Sonntag oder Samstag der Beginn oder das Ende des Zeitraums sind, da diese nicht als Werktage gelten.

Hier ist das Verfeinerter Code:

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;
Nach dem Login kopieren

Diese erweiterte Berechnung sollte genaue Geschäftstagsergebnisse liefern und mit der NETZWERKTAGE-Funktion von Excel übereinstimmen.

Das obige ist der detaillierte Inhalt vonWie kann man Geschäftstage in Oracle SQL genau berechnen, ohne Funktionen oder Prozeduren zu verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage