字段类型为datetime,数据为2007-05-11 10:10:10 到 2007-11-7 10:10:10 若干条!
现在分别给出年或者年月或者年月日,来比对得出相关日期的数据,如何做!?

解决方案 »

  1.   


    select *
    from 表
    where year(日期字段名)=2007
    select *
    from 表
    where year(日期字段名)=2007 and month(日期字段名)=6
    select *
    from 表
    where year(日期字段名)=2007 and month(日期字段名)=6 and day(日期字段名)=10
      

  2.   

    select * from tablename group by year(datecolumn);
    select * from tablename group by left(datecolumn,7);
    select * from tablename group by left(datecolumn,10);
      

  3.   

    SELECT * FROM 表名 WHERE 字段名 BETWEEN 'YYYY-MM-1' AND 'YYYY-MM-30';
    可以用日期时间函数进一步修正给出的日期
    datetime和date型的数据可以直接比较,比较时datetime型的数据自动转换成date型数据.
      

  4.   

    thank you ! 我也学习中,简单非常好,lyg315 也应该给一般分,哈哈。
      

  5.   

    SELECT * FROM 表名 WHERE date(字段名) BETWEEN '2007-05-11' AND '2007-11-7';