Berechnen von Tagen zwischen Daten ohne Wochenenden (MySQL)
Die Bestimmung der Differenz zwischen zwei Daten in MySQL ist mit der Funktion DATEDIFF() ganz einfach. Wenn Sie jedoch Wochenenden aus der Berechnung ausschließen müssen, ist ein speziellerer Ansatz erforderlich.
Um dies zu erreichen, sollten Sie die Verwendung der folgenden MySQL-Funktion in Betracht ziehen:
<code class="mysql">CREATE FUNCTION TOTAL_WEEKDAYS(date1 DATE, date2 DATE) RETURNS INT RETURN ABS(DATEDIFF(date2, date1)) + 1 - ABS(DATEDIFF(ADDDATE(date2, INTERVAL 1 - DAYOFWEEK(date2) DAY), ADDDATE(date1, INTERVAL 1 - DAYOFWEEK(date1) DAY))) / 7 * 2 - (DAYOFWEEK(IF(date1 < date2, date1, date2)) = 1) - (DAYOFWEEK(IF(date1 > date2, date1, date2)) = 7);</code>
Diese Funktion benötigt zwei Datumsangaben als Eingaben und gibt die Anzahl der Tage dazwischen zurück, ausgenommen Wochenenden (d. h. Samstage und Sonntage).
Hier ist eine Aufschlüsselung seiner Komponenten:
`ABS(DATEDIFF(ADDDATE(date2, INTERVAL 1 - DAYOFWEEK(date2) DAY),
ADDDATE(date1, INTERVAL 1 - DAYOFWEEK(date1) DAY))) / 7 * 2`: Calculates the number of weekend days between the two dates.
Durch die Kombination dieser Komponenten liefert die Funktion eine genaue Berechnung der Anzahl der Tage zwischen den beiden Daten, außer an Wochenenden.
Das obige ist der detaillierte Inhalt vonWie berechnet man die Anzahl der Wochentage zwischen zwei Daten in MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!