最近在项目中,遇到个比较特殊的要求,比如,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到周日,之间所有符合条件的
日期了。
当然,以前可以再进行扩展,返回
任意时间段之间的日期拉
博客围绕项目中特殊需求展开,介绍在MySQL里获取上周周一0:00到周日0:00之间记录的查询方法,给出具体SQL语句where week(col1,1)=week(FROM_DAYS(TO_DAYS(CURDATE())-7)),还提及可对该方法进行扩展以查询任意时间段日期。
321

被折叠的 条评论
为什么被折叠?



