Probeer dit:
SELECT DATE_ADD(
date_field,
INTERVAL 5 +
IF(
(WEEK(date_field) <> WEEK(DATE_ADD(date_field, INTERVAL 5 DAY)))
OR (WEEKDAY(DATE_ADD(date_field, INTERVAL 5 DAY)) IN (5, 6)),
2,
0)
DAY
) AS FinalDate
FROM `table_name`;
Hoe het werkt:
- Ten eerste wordt er 5 dagen toegevoegd aan je datum.
- Ten tweede, wanneer
date_field
en 5 dagen later zijn in twee verschillende weken, het moet nog 2 dagen worden toegevoegd. - Ten derde, als het 5 dagen later is
Sat
ofSun
, het moet nog 2 dagen worden toegevoegd.