週末を除く日付間の日数の計算 (MySQL)
MySQL で 2 つの日付の差を求めるには、DATEDIFF() 関数を使用するのが簡単です。ただし、計算から週末を除外する必要がある場合は、より特殊なアプローチが必要です。
これを実現するには、次の 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>
この関数は 2 つの日付を受け取ります。
そのコンポーネントの内訳は次のとおりです。
`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.
これらのコンポーネントを組み合わせることで、関数は 2 つの日付の間の日数を正確に計算します。週末を除きます。
以上がMySQL で 2 つの日付間の平日の数を計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。