这个需要转换下思路,没有直接得到的函数,不过转换下就好了。
DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
3e Y3r Y h0mysql> select DAYOFWEEK('1998-02-03');
D P p0W l T:v N { U v0-> 3
WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。
我这里就用 weekday()来做演示
select ADDDATE(CURDATE(),-WEEKDAY(CURDATE())) --这句就可以完成你要的结果,返回本周的星期一日期。
我来讲讲原理,
CURDATE()得到当前日期。和now()的区别在于没有小时-分钟-秒。
WEEKDAY(CURDATE())得到当前是星期几,今天是星期2所以这里根据上面对weekday函数的解释,那么应该得到数值1,星期二。这样我们就需要提前一天,就减一天。
用ADDDATE()函数完成对日期的加减,当前日期。CURDATE() 加上 -WEEKDAY(CURDATE()) -1
就是变成了 2010-05-10
明白了吗?