sql >> Databáze >  >> RDS >> Mysql

MYSQL Přidejte pracovní dny k dnešnímu dni

Zkuste toto:

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 funguje:

  • Nejprve vám k datu přidá 5 dní.
  • Zadruhé, když date_field a 5 dní později je ve dvou různých týdnech, je třeba přidat další 2 dny.
  • Za třetí, když je o 5 dní později Sat nebo Sun , je třeba přidat další 2 dny.


  1. Funkce TO_TIMESTAMP_TZ() v Oracle

  2. Chyba Query v PostgreSQL nevrátila žádné výsledky

  3. Zobrazit vztah rodič-dítě, když jsou rodič a dítě uloženy ve stejné tabulce

  4. Metoda SqlDataAdapter.Fill je pomalá