Mengira Hari Kerja dengan Cekap dalam T-SQL
Menentukan bilangan hari bekerja antara dua tarikh adalah keperluan biasa dalam SQL Server. Ini penting untuk penjadualan projek, pengiraan cuti pekerja dan aplikasi perniagaan lain. Panduan ini menunjukkan pendekatan T-SQL yang mantap.
Penyelesaian T-SQL untuk Pengiraan Hari Kerja
Langkah berikut menggariskan kaedah untuk mengira hari kerja dalam SQL Server menggunakan Transact-SQL (T-SQL):
(DATEDIFF(dd, @StartDate, @EndDate) 1) - (DATEDIFF(wk, @StartDate, @EndDate) * 2)
Formula ini mengira jumlah hari, menolak hari hujung minggu (dua seminggu) dan mengambil kira senario di mana tarikh mula atau tamat jatuh pada hujung minggu.
Contoh Ilustrasi
Mari kita ilustrasikan dengan contoh praktikal:
<code class="language-sql">DECLARE @StartDate DATETIME; DECLARE @EndDate DATETIME; SET @StartDate = '2023-03-06'; SET @EndDate = '2023-03-20'; SELECT (DATEDIFF(dd, @StartDate, @EndDate) + 1) - (DATEDIFF(wk, @StartDate, @EndDate) * 2) - (CASE WHEN DATENAME(dw, @StartDate) = 'Sunday' THEN 1 ELSE 0 END) - (CASE WHEN DATENAME(dw, @EndDate) = 'Saturday' THEN 1 ELSE 0 END);</code>
Mengendalikan Cuti
Untuk hasil yang lebih tepat, masukkan cuti ke dalam pengiraan:
Atas ialah kandungan terperinci Bagaimana untuk Mengira Hari Bekerja Antara Dua Tarikh Menggunakan T-SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!