MySQL
SQL DIFF DATE WITHOUT WEEKEND
![](https://genmcorp.com/wp-content/uploads/2024/07/353427794_646728614158776_8437791729050769556_n.png)
![](https://genmcorp.com/wp-content/uploads/2024/07/353427794_646728614158776_8437791729050769556_n.png)
SQL DIFF DATE WITHOUT WEEKEND atau dalam bahasa Indonesianya memcari selisih hari dengan mengeluarkan hari sabtu dan minggu. Langsung saja ya teman-teman, beberapa waktu lalu saya ada permintaan oleh client untuk menampilkan data dimana data tersebut dibagi dengan jumlah hari kecuali hari libur, singkatnya memfilter tanggal dari sekian sampai tanggal sekian dan hari sabtu minggu tidak dihitung. Untuk querynya teman-teman bisa pelajari query dibawah ini :
SELECT nama_flok, unit, ap, tanggal_doc_in - interval 1 day AS tanggal_doc_in, tanggal_doc_out, tanggal_pencairan_rhpp, lama_pencairan_rhpp,
((DATEDIFF(tanggal_pencairan_rhpp, tanggal_doc_out)) -
((WEEK(tanggal_pencairan_rhpp) - WEEK(tanggal_doc_out)) * 2) -
(CASE WHEN WEEKDAY(tanggal_doc_out) = 6 THEN 1 ELSE 0 END) -
(CASE WHEN WEEKDAY(tanggal_doc_out) = 5 THEN 1 ELSE 0 END)) AS diff_without_weekday
FROM tb_rhpp WHERE ap='sga'
AND nama_flok='ADE PRIBADI SIREGAR 1' ORDER BY id DESC LIMIT 10
Point penting yang perlu teman-teman ketahui atau garis bawahi yaitu bagian DATE DIFF dan CASE WHEN WEEK, dengan menentukan WEEKDAY 5 dan 6 artinya tidak mengikutkan dalam perhitungan, silahkan teman-teman bisa dicoba, cukup sekian posting singkat saya semoga bermanfaat. Terimakasih