Mengira Hari antara Tarikh Tidak Termasuk Hujung Minggu (MySQL)
Menentukan perbezaan antara dua tarikh dalam MySQL adalah mudah menggunakan fungsi DATEDIFF(). Walau bagaimanapun, jika anda perlu mengecualikan hujung minggu daripada pengiraan, pendekatan yang lebih khusus diperlukan.
Untuk mencapai ini, pertimbangkan untuk menggunakan fungsi MySQL berikut:
<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>
Fungsi ini mengambil masa dua tarikh sebagai input dan mengembalikan bilangan hari antara mereka, tidak termasuk hujung minggu (iaitu, Sabtu dan Ahad).
Berikut ialah pecahan komponennya:
`ABS(DATEDIFF(ADDDATE(tarikh2, INTERVAL 1 - DAYOFWEEK(date2) DAY),
ADDDATE(date1, INTERVAL 1 - DAYOFWEEK(date1) DAY))) / 7 * 2`: Calculates the number of weekend days between the two dates.
Dengan menggabungkan komponen ini, fungsi menyediakan pengiraan tepat bagi bilangan hari antara dua tarikh, tidak termasuk hujung minggu.
Atas ialah kandungan terperinci Bagaimana untuk Mengira Bilangan Hari Minggu Antara Dua Tarikh dalam MySQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!