如何获取上周一至当天之间的日期?

Par*_*att 5 mysql datetime

我在我的数据库中有约会.

我的数据库在MySQL中.

我想从我的数据库中获取日期,这些日期提供了从上周一到当天的日期.

我怎样才能做到这一点?

tob*_*ies 5

你首先必须计算出上周一的星期一是多少天,使用该DAYOFWEEK函数,然后从当前日期中减去 -

SELECT * from table
WHERE date >= DATE_SUB(CURDATE(),INTERVAL MOD(DAYOFWEEK(CURDATE())-2,7) DAY)
AND   date <= DATE_ADD(CURDATE(), INTERVAL MOD(7 - (DAYOFWEEK(CURDATE()) - 1), 7) DAY)
Run Code Online (Sandbox Code Playgroud)

我不是100%肯定这里的+/-数字,你应该能够从中解决这个问题

编辑:如果这只会在周期结束时的星期日运行,那么有一个更简单的版本 -

SELECT * from table
WHERE date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
AND   date <= CURDATE()
Run Code Online (Sandbox Code Playgroud)