Как обновить поле столбца даты mysql на следующий рабочий день.?

1

Мне нужен DATE_ADD(date_field_column, interval ## ####) mysql DATE_ADD(date_field_column, interval ## ####) для перехода в следующий рабочий день.

Ex. Date1 = 10-07-2015  & Date2 = 20-07-2015

Есть всего 5 дней рабочих дней (Mon-Fri) поэтому у меня есть запрос, что если в столбце даты указана дата 10-07-2015 то она должна перейти 13-07-2015 в следующий рабочий день.

  • 0
    Вы имеете в виду 5 рабочих дней, верно?
  • 0
    да .. понедельник-пятница .. опять нет суббота-воскресенье, agian понедельник-пятница
Показать ещё 3 комментария
Теги:
mysqli

2 ответа

1
Лучший ответ

использовать это

    IF(
       DAYOFWEEK(dat) = '6' OR DAYOFWEEK(dat) = '7' ,
       IF(DAYOFWEEK(dat)='6', DATE_ADD(dat, INTERVAL + 3 DAY), DATE_ADD(dat, INTERVAL + 2 DAY)),
       DATE_ADD(dat, INTERVAL + 1 DAY)
      ) AS newdat 

У меня тоже было это требование, однако это не сработает, если ваше требование также будет включать праздничные дни. вам необходимо подключиться к вашей главной таблице отдыха и сделать это на стороне приложения.

  • 0
    а если я хочу только выходные дни тогда?
  • 0
    @NR. если вы рассматриваете только выходные (суббота-воскресенье), то приведенный выше запрос будет работать нормально.
2

Пожалуйста, используйте нижеприведенный код, этот код вернет вас на следующий рабочий день (исключая субботу и воскресенье).

Я устанавливаю пример с SELECT поэтому изменяйте ее согласно вашему требованию.

SELECT DATE_ADD(
        '2015-07-10', INTERVAL 
                IF(DAYNAME('2015-07-10')  = 'Saturday', 2, 
                        IF(DAYNAME('2015-07-10')  = 'Friday', 3, 1)
                                ) DAY);

ПРИМЕЧАНИЕ. Использование формата даты для этого примера - ГГГГ-ММ-ДД.

Дайте мне знать, если вы столкнетесь с каким-либо вопросом/беспокойством по этому поводу.

Благодарю!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню