Я хочу получить все даты, указанные в списке, сократив 1 день Я пытаюсь что-то вроде этого:
select date
from MyTable
where date in ('2022-03-22', '2022-03-18', '2022-03-11') - interval 1 day
Я хочу получить:
'2022-03-21', '2022-03-17', '2022-03-10'
если это сработало для вас, не забудьте дать ему положительный голос
Можно с интервалами.
Вот ссылка на то, как это работает:https://www.db-fiddle.com/f/3PnzHErrf2fZFGZY67K12X/48
SELECT ADDDATE("2022-03-22", INTERVAL -1 DAY);
SELECT ADDDATE("2022-03-18", INTERVAL -1 DAY);
SELECT ADDDATE("2022-03-11", INTERVAL -1 DAY);
Вы также можете сделать это с помощью concat, например:https://www.db-fiddle.com/f/3PnzHErrf2fZFGZY67K12X/49
SELECT CONCAT(ADDDATE("2022-03-22", INTERVAL -1 DAY),' | ',
ADDDATE("2022-03-18", INTERVAL -1 DAY),' | ',
ADDDATE("2022-03-11", INTERVAL -1 DAY));
Вы можете добавить 1 день к значению столбца date
, чтобы сравнить его со списком IN
:
SELECT date
FROM MyTable
WHERE date + INTERVAL 1 DAY IN ('2022-03-22', '2022-03-18', '2022-03-11');
О чем
list
вы здесь говорите?