with AdoQuery3 do
begin
  Close;
  Sql.Clear;
  Sql.Add('select * from xx where date<=:firstdate and date<=:enddate');
  Parameters.ParamByName("firstdate') := StrToDate('2001-1-1');
  Parameters.ParamByName("enddate') := StrToDate('2001-1-31');
  Open;
end;

解决方案 »

  1.   

    select * from xxx where month(sss) like :sss
    你参考一下了,
      

  2.   

    sql.add('select * from xxx where convert(char(6),sss,112)=:sss');
    parameters.parambyname('sss'):='200101';
    open;
      

  3.   

    在SQL SERVER中可以这样:
     DataModule1.adoquery3.SQL.Add('select * from xxx where datepart(month,date)=:a');
    就可以查出某月的数据,不过在多年数据中就要加入年的判断了。
    datepart(year,date)
      

  4.   

    var
      y, m ,d: word;
      FirstDate: TDate;
    begin
      DecodeDate(date,y,m,d);
      FirstDate := StrToDate(IntToStr(y) + '-' + IntToStr(m) + '-' + IntToStr(1));
      with AdoQuery3 do
      begin
        Close;
        Sql.Clear;
        Sql.Add('select * from xx where date<=:firstdate and date<=:enddate');
        Parameters.ParamByName(;firstdate') := FirstDate;
        Parameters.ParamByName('enddate') := Date;
        Open;
      end; 
      

  5.   

    其实SQL怎么写与引挚都有关的啊!日期一般要单引号或#号或{}引着.呵呵.
      

  6.   

    with AQuery do
    begin
      Close;
      Sql.Clear;
      Sql.Add('select * from xx where date<=:firstdate and date<=:enddate');
      Parameters.ParamByName('firstdate').AsDate := StrToDate('2001-1-1');
      Parameters.ParamByName('enddate').AsDate := StrToDate('2001-1-31');
      Open;
    end;