Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Aggiungi giorni lavorativi fino ad oggi

Prova questo:

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`;

Come funziona:

  • In primo luogo, aggiungerà 5 giorni alla tua data.
  • In secondo luogo, quando date_field e 5 giorni dopo sono in due settimane diverse, devono essere aggiunti altri 2 giorni.
  • In terzo luogo, quando 5 giorni dopo è Sat o Sun , devono essere aggiunti altri 2 giorni.