日期:2014-05-17  浏览次数:20564 次

mysql 如何获取本月的第一周的第一天是几号
mysql 如何获取本月的第一周的第一天是几号

------解决方案--------------------
我只是说说我的想法:
sql语句效率问题,尽量在sql语句里面尽量少的使用mysql的函数,所以 最好是拼接好sql之后直接查询 效率更高!

你用你擅长的语言拼接出来每个月的第一周的第一天 然后查询
------解决方案--------------------
哈哈,这个可以用来做做练习题,可以熟悉一下mysql的datetime系列函数,
楼主不要急着结贴,看谁能写出最简单的(要求是返回某个日期该月的第一个星期一的datetime类型值)

我目前得到的一个:
set @a='2010-12-31' -- 这里只是为了方便,也可以直接把日期写入sql
;
select date_add(last_day(date_sub(@a,interval 1 month)), 
interval dayofmonth(date_sub(last_day(@a), interval weekday(last_day(@a)) day) ) % 7 day ) 
as result
;


另外,这个在php里很简单,可以这样写:
echo date('y-m-d',strtotime('first Monday of 2010-12-24'));