Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL Bis heute Arbeitstage hinzufügen

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 oder Sun , es müssen weitere 2 Tage hinzugefügt werden.