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

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

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2025-01-04 03:53:39256Durchsuche

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

Berechnen von Geschäftstagen in Oracle SQL (ohne Funktionen oder Prozeduren)

Beim Berechnen von Geschäftstagen zwischen zwei Daten in Oracle SQL mithilfe der Formel:

((to_char(CompleteDate,'J') - to_char(InstallDate,'J')) 1) - (((to_char(CompleteDate,'WW') (52 ((to_char(CompleteDate,'YYYY') - to_char(InstallDate,'YYYY'))))) - to_char(InstallDate,'WW' ))2)

kann größtenteils genaue Ergebnisse liefern, es kann gelegentlich zu Abweichungen von 2 Tagen oder mehr kommen weniger. Diese Inkonsistenz ergibt sich aus der Nichtberücksichtigung der folgenden Faktoren:

  • Die Formel geht davon aus, dass alle Monate 30 Tage haben, was nicht stimmt.
  • Wochenenden (Samstage und Sonntage) sind davon ausgenommen.

Um diese Probleme anzugehen, eine genauere Formel ist:

(TRUNC(CompleteDate) - TRUNC(InstallDate) ) 1 -
((((TRUNC(CompleteDate,'D'))-(TRUNC(InstallDate,'D')))/ 7)*2) -
(FALL WANN TO_CHAR(InstallDate,'DY','nls_date_lingual=english')='SUN' THEN 1 ELSE 0 END) -
(CASE WHEN TO_CHAR(CompleteDate,'DY','nls_date_sprache=english')='SAT' THEN 1 ELSE 0 END)

Hier TRUNC() entfernt die Zeitkomponente aus den Datumsangaben und TO_CHAR() extrahiert den Wochentag. Die Berechnung berücksichtigt jetzt die Anzahl der Tage zwischen den gekürzten Daten, subtrahiert Wochenenden und passt die Start- oder Enddaten des Wochenendes an.

Durch die Einbeziehung dieser Verbesserungen berechnet die Formel Geschäftstage genau und stimmt mit der Funktion NETZWERKTAGE in Excel überein .

Das obige ist der detaillierte Inhalt vonWie kann man Geschäftstage zwischen zwei Daten 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!

Stellungnahme:
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