我想筛选上个星期的数据(不是7天前的数据,而是上个星期天00:00到上个星期六24:00)
如何筛选?
类似的 还有昨天的呢(昨天的00:00-24:00)
       去年的呢!!
可以用delphi里的函数,也可以纯sqlserver语句的

解决方案 »

  1.   

    字段是有的kdrq(开单日期)
    主要是按开单日期搜索出记录—————————————————————————————————
    笨鸟未飞
      

  2.   

    通过过滤的方法应该可以的,设置FILTERED为真,在FilterRecord里进行过滤!
      

  3.   

    加dateUtils单元
    procedure TForm1.Button1Click(Sender: TObject);
    var
      PreDate,StartDate,EndDate:TDateTime;
      str:string;
    begin
    //
      PreDate:=IncWeek(now,-1);  //获得7天前的日期
      StartDate:=StartOfTheWeek(PreDate);
      EndDate:=EndOfTheWeek(PreDate);       //end;
    查dateUtils单元,能满足你的要求
    你的是什么数据库,否则没法写sql语句
      

  4.   

    mssqlserver数据库啊,怎么了—————————————————————————————————
    笨鸟未飞
      

  5.   

    假设有一个登记日期
    加dateUtils单元
    function GetDbTimeString(dt: TDateTime): String;
    begin
      case DBType of
        dtOracle:
          Result:='To_Date('''+FormatDateTime('yyyy-mm-dd hh:nn:ss',dt)+''',''YYYY-MM-DD HH24-MI-SS'')';
        dtMsSql:
          Result:='CONVERT(DATETIME,'''+FormatDateTime('yyyy-mm-dd hh:nn:ss',dt)+''',20)';
        dtJet40:
          Result:='CDate('''+FormatDateTime('mm/dd/yyyy hh:nn:ss',dt)+''')';
      end;
    end;
    procedure TForm1.Button1Click(Sender: TObject);
    var
      PreDate,StartDate,EndDate:TDateTime;
      str:string;
    begin
    //
      PreDate:=IncWeek(now,-1);  //获得7天前的日期
      StartDate:=StartOfTheWeek(PreDate);  星期的开始
      EndDate:=tomorrow(EndOfTheWeek(PreDate));       //下一星期的开始
      strSql:='select * from aa where djrq>=' + GetDbTimeString(StartDate) + ' and djrq<' + GetDbTimeString(EndDate);end;