Как получить n-ю предыдущую рабочую дату в MySQL? Пусть функция подписи является nth_previous_working_date (d ДАТА, п INT)Получите nth предыдущую рабочую дату в MySQL
Для 10 сентября 2015 года, функция должна возвращать 3 сентября 2015
Как получить n-ю предыдущую рабочую дату в MySQL? Пусть функция подписи является nth_previous_working_date (d ДАТА, п INT)Получите nth предыдущую рабочую дату в MySQL
Для 10 сентября 2015 года, функция должна возвращать 3 сентября 2015
Вы можете использовать функцию date_sub
.
SELECT DATE_SUB('2015-09-10', INTERVAL 7 DAY);
или просто использовать минус оператор
SELECT '2015-09-10' - INTERVAL 7 DAY
Получение предыдущего без выходных дней рабочий день может быть сделано с футляром.
select case dayofweek(curdate() - interval 1 day) -- yesterday
when 1 then curdate() - interval 3 day -- when sunday, go 2 more days before
when 7 then curdate() - interval 2 day -- when saturday, go 1 more days before
else curdate() - interval 1 day -- yesterday
end
Проверка функции date_sub() 'в mysql –
Что означает дата работы? Что, если бы они болели во вторник? – Drew
^Я думаю, что он не угадывает о «рабочих» днях :) – splash58