select * from tablewhere (年 between beginyear and endyear) and
      (月 between beginmonth and endmonth)

解决方案 »

  1.   

    select * from yourtable
     where (年>=beginyear and 月>=beginmonth)
        or (年<=endyear and 月<=endmonth)
      

  2.   

    不知道楼主的这两个字段采用什么类型。
        如果是字符串类型的话,'10'  <  '7',所以建议将'7'改为'07';
        
        如果是整型的话, 不如改用以下方法:query1.Close;
    query1.SQL.Clear;
    query1.SQL.Add('select * from 表 where (年 >= :StartYear and 月 >=:StartMonth) and (年 <= :EndYear and 月 <=:EndMonth');
    query1.ParamByName('StartYear').AsString:=  StartYear;
    query1.ParamByName('StartMonth').AsString:=  StartMonth;
    query1.ParamByName('EndYear').AsString:=  EndYear;
    query1.ParamByName('EndMonth').AsString:=  EndMonth;
    query1.Open ;