Versuchen Sie Folgendes:
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`;
Wie es funktioniert:
- Erstens wird Ihr Datum um 5 Tage verlängert.
- Zweitens, wenn
date_field
und 5 Tage später in zwei verschiedenen Wochen liegen, müssen 2 weitere Tage hinzugefügt werden. - Drittens, wenn 5 Tage später
Sat
ist oderSun
, es müssen weitere 2 Tage hinzugefügt werden.