【发布时间】:2017-07-21 06:38:32
【问题描述】:
我试图在 MySQL 中获取前一周的第一天和最后一天,其中第一天和最后一天分别是星期一和星期日。
例如,如果今天(2017 年 3 月 1 日)是执行 SQL 的时间,我想获取:
- 第一天 --> 2 月 20 日
- LastDay --> 2 月 26 日
我已经尝试了以下和各种变体,但没有成功。
SELECT DATE_ADD(curdate(), INTERVAL(-WEEKDAY(curdate())) DAY);
如果在本周内的任何时间执行,是否有可能实现这些结果?
【问题讨论】:
-
您将获得本周的第一天,因此您可以获得前一周的第一天和最后一天。为什么你的尝试没有成功!?
-
MySQL 是用于存储和检索数据的,而不是其他的。
-
也就是说……
SELECT CURDATE()-INTERVAL WEEKDAY(CURDATE())+1 DAY x; -
我在 7 天前得到了答案,但现在答案已更新并得到前一周的第一天。希望对您有所帮助。