scaisEdge близко, но не совсем там.В воскресенье добавленный интервал будет 15 дней, что на самом деле 3 понедельника спустя.Приведенный ниже код даст вам то, что вам нужно:
SELECT (your_date + INTERVAL ((CASE WHEN dayofweek(your_date) = 1 THEN 7 ELSE 14 END) + (2 - dayofweek(your_date))) DAY) AS 2_mondays_from_now;
Поскольку воскресный день недели меньше, чем в понедельник, вам нужна эта логика регистра.Это справедливо для любого дня недели, который численно встречается до желаемого дня недели (например, если вы хотите среду, вам придется обрабатывать в воскресенье, понедельник и вторник)
РЕДАКТИРОВАТЬ
Я написал функцию в MySQL, которая обобщает эту проблему на любой день недели и любое количество недель после (или до) даты ввода:
CREATE FUNCTION dow_in_x_wks (indate DATE, dow INT, wks INT)
RETURNS DATE DETERMINISTIC
RETURN (indate + INTERVAL (
(CASE WHEN dayofweek(indate) < dow THEN (wks - 1) * 7 ELSE wks * 7 END) + (dow - dayofweek(indate))) DAY);