Spróbuj tego:
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`;
Jak to działa:
- Po pierwsze, doda 5 dni na twoją randkę.
- Po drugie, gdy
date_field
a 5 dni później są w dwóch różnych tygodniach, należy dodać dodatkowe 2 dni. - Po trzecie, gdy 5 dni później jest
Sat
lubSun
, należy dodać dodatkowe 2 dni.