最近在项目中,遇到个比较特殊的要求,比如,MYSQL中,比如今天是2004年12月13日,星期1, 如果要取得上周一0:00到周日0:00(就是2004年12月6日0:00到 2004年12月12日周日0:00)之间的记录,要如何写呢? ???? 其实可以这样写,经过我的探索和发现后知道
最近在项目中,遇到个比较特殊的要求,比如,MYSQL中,比如今天是2004年12月13日,星期1,
如果要取得上周一0:00到周日0:00(就是2004年12月6日0:00到
2004年12月12日周日0:00)之间的记录,要如何写呢?
???? 其实可以这样写,经过我的探索和发现后知道:
比如你日期字段是Col1
where week(col1,1)=week(FROM_DAYS(TO_DAYS(CURDATE())-7))
,其中week(xxx,1)是返回当天所在的星期,是1年中的第几个星期,参数1表示星期从星期1开始,0
表示为从星期天开始。
?? 而FROM_DAYS(TO_DAYS(CURDATE())-7,则是返回上周的日期(7天前的),
再用WEEK(FROM_DAYS(TO_DAYS(CURDATE())-7)),就可以求的上周1到周日,之间所有符合条件的
日期了。
??? 当然,以前可以再进行扩展,返回
任意时间段之间的日期拉