我的表里时间的类型是datetime,格式是2009-11-09 00:00:00
如何进行模糊查询2009-11,只查询年月
前台输入的查询条件是2009-11

解决方案 »

  1.   

    select * from ttt where mydatetime like '2009-11%'
    mysql> select curdate(),curdate() like '2009-11%';
    +------------+---------------------------+
    | curdate()  | curdate() like '2009-11%' |
    +------------+---------------------------+
    | 2009-11-19 |                         1 |
    +------------+---------------------------+
    1 row in set, 1 warning (0.06 sec)mysql>
      

  2.   

    或者select * from ttt where date_format(mydatetime,'%Y-%m') = '2009-11'
    mysql> select date_format(curdate(),'%Y-%m');
    +--------------------------------+
    | date_format(curdate(),'%Y-%m') |
    +--------------------------------+
    | 2009-11                        |
    +--------------------------------+
    1 row in set (0.00 sec)mysql>