我试图在 MySQL 中获取前一周的第一天和最后一天,其中第一天和最后一天分别是星期一和星期日。
例如,如果今天(2017 年 3 月 1 日)是执行 SQL 的时间,我想获得:
我已经尝试了以下和各种变体,但没有成功。
SELECT DATE_ADD(curdate(), INTERVAL(-WEEKDAY(curdate())) DAY);
Run Code Online (Sandbox Code Playgroud)
在本周内的任何时间执行时是否有可能达到这些结果?
选择上周的第一天和最后一天:
SELECT
(curdate() - INTERVAL((WEEKDAY(curdate()))+1) DAY) as e,
(curdate() - INTERVAL((WEEKDAY(curdate()))+7) DAY) as s
Run Code Online (Sandbox Code Playgroud)
s: 2017-02-20
电子:2017-02-26
如果你想过滤上周的表格行:
SELECT * FROM tblName
WHERE dateCol >= (curdate() - INTERVAL((WEEKDAY(curdate()))+7) DAY)
AND dateCol < (curdate() - INTERVAL((WEEKDAY(curdate()))+1) DAY)
ORDER BY dateCol DESC -- or ASC
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4023 次 |
| 最近记录: |