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

解决方案 »

  1.   

    我只是说说我的想法:
    sql语句效率问题,尽量在sql语句里面尽量少的使用mysql的函数,所以 最好是拼接好sql之后直接查询 效率更高!你用你擅长的语言拼接出来每个月的第一周的第一天 然后查询 
      

  2.   

    哈哈,这个可以用来做做练习题,可以熟悉一下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'));
      

  3.   

    呵呵,很感谢,我找了半天用mysql求周一日期的语句,终于找到了,太厉害了。