MySql 将时间间隔与日期列表一起使用
MySql using interval with a list of dates
我愿意获取列表中列出的所有日期,减少 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'
可以间隔进行。
这里是 link 它是如何工作的: 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);
您也可以使用连接来实现,例如: 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');
我愿意获取列表中列出的所有日期,减少 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'
可以间隔进行。
这里是 link 它是如何工作的: 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);
您也可以使用连接来实现,例如: 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');