使用DateTimePicker控件给出时间的上下限
怎么查询满足这一范围的数据?
我不会写这种类型的SQL语句
请教!

解决方案 »

  1.   

    select * from 表
    where 日期 between '2003-1-1' and '2003-1-2'
      

  2.   

    query1.sql.add('select 字段 from 表名 where (时间字段>='+''''+datetimepicker.date+''''+' and 时间字段<='+''''datetimepicker.date+''''+
    ')');
      

  3.   

    to xinxincao (辛欣草)  friend:
    var
    lsSql : String;
    begin
      select * from tableName where date(字段名)between "+datetimepicker1.text+" and "+datetimepicker2.text;
    //或者用 where date>="+datetimepicker1.text+"  and date<=+"+datetimepicker2.text; 
    end;
      

  4.   

    select * from 表
    where 日期 between DateTimePicker1.date and DateTimePicker2.date
      

  5.   

    给个完整点的给你:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      date1,date2: TDateTime;
      WhereStr: string;
    begin
      date1:= DateTimePicker1.Date;
      date2:= DateTimePicker2.Date;
      WhereStr:= 'where rq between '+#39+DateToStr(date1)+#39+' and '+#39
      +DateToStr(date2)+#39 ;
      query1.Close;
      query1.SQL.Clear;
      query1.SQL.Add('select * from shop1');
      query1.SQL.Add(WhereStr);
      query1.Open;
    end;
      

  6.   

    呵。知道的人挺多的嘛。
    其实你只要用
    SHOWMESSAGE(''select 字段 from 表名 where (时间字段>='+''''+datetimepicker.date+''''+' and 时间字段<='+''''datetimepicker.date+''''+
    ')'');
    如果编译成功,则可以运行看看语句。
    如果编译不成功,则你的SHOWMESSAGE本身就没处理好。
    我常用这个。
      

  7.   

    和用什么库也有关系吧。
    我用Foxpro,时间字段很阁路啊:)
      

  8.   

    和数据库是有关系,如果你用Oracle数据库,你的时间格式就和其它数据库不一样
    select * from 表 where 时间 between 开始时间 and 结束时间
      

  9.   

    select 字段 FROM TABLENAME 
     WHERE BETWEEN ''''+datetimepicker1.DATE+'''' AND  ''''+datetimepicker.date+''''
      

  10.   

    sql.add('select * from TABLENAME WHERE 发送时间>='''+DateToStr(startDTP.datetime)+''' and 发送时间<='''+DateToStr(endDTP.datetime)+'''');
      

  11.   

    sql.add('select * from TABLENAME WHERE 时间>='''+DateToStr(datetimepicker1.datetime)+''' and 时间<='''+DateToStr(datetimepicker2.datetime)+'''');
      

  12.   

    那就具体加到秒钟去
    sql.Add( fdate<=:ssdate  group by a.fvmcode'); 
     Parameters.ParamByName('ssdate').Value:=strtodatetime(formatdatetime('yyyy-mm-dd',sdate)+' 23:59:59');
      

  13.   

    a:=datetimetostr(timepicker1.datetime);
    b:=datetimetostr(timepicker2.datetime);
    select * from TABLENAME WHERE to_char(时间,'yyyy-mm-dd hh24:mi')>=a and to_char(时间,'yyyy-mm-dd hh24:mi')<=b;
      

  14.   

    同意: fzuelephant(四两)的方法,最好用参数。
      

  15.   


    select * from TABLENAME
     WHERE convert(varchar(10),时间,120)
            between '''+formatdatetime('yyyy-mm-dd',datetimepicker1.DATE)+'''    and '''+formatdatetime('yyyy-mm-dd',datetimepicker2.DATE)+''' 
      

  16.   

    select * from TABLENAME where Time>:P1 and Time<:P2
    param...(p1).AsDatetime:=datetimepicker1.Date;
    Param...(P2).AsDatetime:=datetimepicker2.Date;