計算不包括週末的日期之間的天數(MySQL)
使用DATEDIFF() 函數可以直接確定MySQL 中兩個日期之間的差異。但是,如果您需要從計算中排除週末,則需要更專門的方法。
要實現此目的,請考慮使用以下MySQL 函數:
<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>
此函數需要兩個日期作為輸入並傳回它們之間的天數,不包括週末(即週六和周日)。
以下是其組成部分的細分:
`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.
以上是如何計算MySQL中兩個日期之間的工作天數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!