我是想求某个月有多少天select date_add(ms,-3,date_add(mm, DATEDIFF(m,0,GETDATE())+1,0))) 这句话哪里错了啊,我运行时总出错然后如何循环出每天啊?

解决方案 »

  1.   

    LZ写的是什么? "ms mm  m"能这么写?  getdate()你写的函数? 完全不知所云
      

  2.   


    mysql> select day(date_add(date_add(concat(date_format(now(),'%Y-%m'),'-01') ,interval 1 month),interval -1 day));
    +-----------------------------------------------------------------------------------------------------+
    | day(date_add(date_add(concat(date_format(now(),'%Y-%m'),'-01') ,interval 1 month),interval -1 day)) |
    +-----------------------------------------------------------------------------------------------------+
    |                                                                                                  31 |
    +-----------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec)
      

  3.   

    --按你的写法这么写..mysql> select dayofmonth(date_add(date_add('1000-01-01',interval timestampdiff(month,'1000-01-01',now())+1 month), interval -1 day));
      

  4.   


    mysql> SELECT day(LAST_DAY('2004-02-05'));
    +-----------------------------+
    | day(LAST_DAY('2004-02-05')) |
    +-----------------------------+
    |                          29 |
    +-----------------------------+
    1 row in set (0.00 sec)mysql> SELECT day(LAST_DAY('2003-02-05'));
    +-----------------------------+
    | day(LAST_DAY('2003-02-05')) |
    +-----------------------------+
    |                          28 |
    +-----------------------------+
    1 row in set (0.00 sec)mysql> SELECT day(LAST_DAY('2010-08-05'));
    +-----------------------------+
    | day(LAST_DAY('2010-08-05')) |
    +-----------------------------+
    |                          31 |
    +-----------------------------+
    1 row in set (0.00 sec)mysql>
      

  5.   


    mysql> SELECT day(LAST_DAY(now()));
    +----------------------+
    | day(LAST_DAY(now())) |
    +----------------------+
    |                   31 |
    +----------------------+
    1 row in set (0.00 sec)mysql>
      

  6.   

    那不一样么 
    只要把你的时间补全比如2010年9月
    改成 concat('2010-09','-01')然后使用