问题:如何获取上周一到当天之间的日期?

我的数据库中有日期。

我的数据库在 MySQL 中。

我想从我的数据库中获取日期,该数据库提供从上周一到当天的日期。

我怎样才能做到这一点?

解答

您首先必须使用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)

我不是 100% 确定这里的 +/- 数字,不过你应该可以从中算出来

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

SELECT * from table
WHERE date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
AND   date <= CURDATE()
Logo

华为、百度、京东云现已入驻,来创建你的专属开发者社区吧!

更多推荐