比如:我要查询2012年02月当中整个2月注册的人员名字;
select userid,username from register where zhucetime like '%2012-02%';
不知道mysql有没有什么函数?

解决方案 »

  1.   

    select userid,username from register where year(zhucetime) = 2012 and month(zhucetime) = 2
      

  2.   

    MYSQL日期函数大全
      

  3.   


    select userid,username from register where date_format(zhucetime,'%Y-%m')='2012-02';
      

  4.   

    但是这个写的太固定拉。假如我的一个时间变量是2011-12,或者2011-11,该怎么样启用这个sql。
      

  5.   

    你可以
    select * from register where year(zhucetime)*100+month(zhucetime) =201112
    或者
    select userid,username from register where DATE_FORMAT(zhucetime,'%Y-%m') ='2012-02'但不建议以上两种方法,无法利用索引查询,考虑到查询效率则应该在程序中实现两个变量。
    select userid,username 
    from register 
    where zhucetime between '2012-02-01' and '2012-03-01'
      

  6.   

    这个可以用 DATE_FORMAT(res_date,'%Y-%m-%d')函数来做,
    比如select userid,username from register where DATE_FORMAT(zhucetime,'%Y-%m') ='2012-02'