SQL Server: Cara Mendapatkan Jumlah Hari Kerja dalam 1 Bulan

Berikut ini query untuk mendapatkan hari kerja (weekday) dalam 1 bulan. Weekday disini didefinisikan sebagai hari Senin sampai dengan hari Jumat. 

Pada contoh di bawah kita akan mencari weekday pada bulan yang saat ini berjalan dengan input tanggal saat ini (GETDATE()). Teman-teman bisa mengubah di bagian input tanggal ini sesuai keperluan.

DECLARE @Date DATETIME
SET @Date = GETDATE()
SELECT  20 + COUNT(*) AS WeekDayCount
FROM (
       SELECT DATEADD(MONTH, DATEDIFF(MONTH, 0, @Date), 28) AS dDate UNION
       SELECT DATEADD(MONTHDATEDIFF(MONTH, 0, @Date), 29) UNION
       SELECT DATEADD(MONTHDATEDIFF(MONTH, 0, @Date), 30)
      ) AS d
WHERE  DATEPART(DAY, dDate) > 28
       AND DATEDIFF(DAY, 0, dDate) % 7 < 5


Tanggal Rani mencoba query ini adalah 17 Juni 2022. Maka hasil query akan seperti berikut:



Post a Comment

0 Comments