Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL Добавяне на работни дни към дата

Опитайте това:

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

Как работи:

  • Първо, това ще добави 5 дни към вашата дата.
  • Второ, когато date_field и 5 дни по-късно са в две различни седмици, трябва да се добавят още 2 дни.
  • Трето, когато 5 дни по-късно е Sat или Sun , трябва да се добави още 2 дни.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Търсене в SQL масив

  2. PHP mysql търси множество таблици с помощта на ключова дума

  3. Как мога да ускоря MySQL заявка с голямо изместване в клаузата LIMIT?

  4. MySQL length() срещу char_length()

  5. InnoDB Таблицата е пълна грешка