Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MYSQL Adicionar dias úteis até a data


Tente isto:
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`;

Como funciona:
  • Em primeiro lugar, adicionará 5 dias à sua data.
  • Em segundo lugar, quando date_field e 5 dias depois são duas semanas diferentes, devem ser adicionados mais 2 dias.
  • Em terceiro lugar, quando 5 dias depois for Sat ou Sun , deve ser adicionado mais 2 dias.