Calcul des jours entre des dates hors week-end (MySQL)
Déterminer la différence entre deux dates dans MySQL est simple à l'aide de la fonction DATEDIFF(). Cependant, si vous devez exclure les week-ends du calcul, une approche plus spécialisée est nécessaire.
Pour y parvenir, pensez à utiliser la fonction MySQL suivante :
<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>
Cette fonction prend deux dates comme entrées et renvoie le nombre de jours entre eux, à l'exclusion des week-ends (c'est-à-dire les samedis et dimanches).
Voici une répartition de ses composants :
`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.
En combinant ces composants, la fonction fournit un calcul précis du nombre de jours entre les deux dates, hors week-end.
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!