У меня есть синтаксис в MS SQL, как показано ниже:
select DATEADD(WK, datediff(WK, **1**,'**2018-04-4**'), **1**);
здесь мой подход - я прохожу startdate ie ('2018-04-4') и будний день, т.е. 1 на основе этой формулы дает мне точную дату, основанную на недельном дне
2018-04-03 00:00:00.000
if i am passing **6** result is 2018-04-01 00:00:00.000
if i am passing **0** result is 2018-04-02 00:00:00.000
if i am passing **1** result is 2018-04-03 00:00:00.000
if i am passing **2** result is 2018-04-04 00:00:00.000
if i am passing **3** result is 2018-04-05 00:00:00.000
if i am passing **4** result is 2018-04-06 00:00:00.000
if i am passing **5** result is 2018-04-07 00:00:00.000
Теперь моя трудность заключается в том, что мне нужно перенести это в MySQL, и он там не работает.
Пожалуйста, предложите любое решение для получения результата, как указано выше.
вы можете использовать date_Add и date_sub для этого.
это дает вам первый день той недели, в которую вы проходите,
SELECT DATE_SUB('2018-04-04',INTERVAL WEEKDAY('2018-04-04') DAY);
комбинируя это с добавлением даты, вы можете генерировать дату в будний день
select date_add(date_sub('2018-04-04', interval weekday('2018-04-04') day), interval 3 day);