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

时间:2011-04-04 10:16:49

标签: mysql datetime

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

我的数据库在MySQL中。

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

我该怎么做?

3 个答案:

答案 0 :(得分: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)

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

编辑:如果这只会在期末的星期日运行,那么版本就会简单得多 -

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

答案 1 :(得分:2)

尝试这个

select * from table
WHERE date >date_sub(curdate(), interval WEEKDAY(curdate()) day) ;

答案 2 :(得分:-1)

您可以随时在查询中使用between函数...

SELECT *
FROM orders
WHERE order_date between to_date ('2003/01/01', 'yyyy/mm/dd')
AND to_date ('2003/12/31', 'yyyy/mm/dd');

http://www.techonthenet.com/sql/between.php