sql:
select * from renzhen where ((sj_stoptime >#2005-9-19 22:11:02#) and (sj_starttime < #2005-9-19 24:11:02#))delphi自动把时间带上了日期, 在比较时间时用以上的sql无法用. 请问有什么好方法比较时间.

解决方案 »

  1.   

    下面是我的一个函数,你自己改改//找指定目录下的所有符合条件的文件名
    function SearchFile(const mainpath:string;filename:string;var foundresult:TStrings):Boolean;
    var
      i:integer;
      Found:Boolean;
      subdir1:TStrings;
      searchRec:TsearchRec;
      SR : TSearchRec;
    begin
      found:=false;
      if Trim(filename)<>'' then
      begin
        if FindFirst(mainpath+filename,faDirectory,sr)=0 then
        repeat
        begin
          found:=true;
          foundresult.Add(mainpath+SR.Name);
        end
        until FindNext(sr)<>0;
        FindClose(SR);    if FindFirst(mainpath+'*.*', faDirectory, SearchRec)=0 then
        begin
          while FindNext(SearchRec) = 0 do
          begin
            if SearchRec.Name<>'..' then
            begin
              found := SearchFile(mainpath+SearchRec.Name+'\',Filename,foundresult)or found;
            end;
          end;
        end;
        FindClose(SearchRec);
      end;
      result:=Found;
    end;
      

  2.   

    strtodatetime(copy(datetimetostr(2005-9-19 22:11:02),11,14))
    转换一下
      

  3.   

    var
      vsql : string;
    begin
      vsql := ‘select * from renzhen where ((sj_stoptime >#‘+formatdatetime('yyyy-mm-dd','2005-9-19 22:11:02')+'#) and (sj_starttime < #'+formatdatetime('yyyy-mm-dd 23:59:59','2005-9-19 24:11:02')+'#))';
      adoquery.sql.text := vsql;
      adoquery.open;
    end;
      

  4.   

    select * from renzhen where ((format(sj_stoptime,'hh:mm:ss') >#22:11:02#) and (format(sj_starttime,'hh:mm:ss') < #24:11:02#))就可以了
      

  5.   

    sql:='select * from renzhen where  formatdatetime('sj_stoptime','yyyy-mm-dd hh:mm:ss')+'  >#'+datetimetostr(t1)+'#';这句sql不通过, 中的formatdatetime在程序是应该怎么写进去啊?