我的表中有一个日期字段。我要查询出所有在某一时间段内的数据。
请各位帮忙!sql语句

解决方案 »

  1.   

    select * from 表 where 日期字段 between 开始日期  and 结束日期
      

  2.   

    或者
    select re_time
    from table
    where re_time>=start_date and re_time<=end_date
      

  3.   

    我比较缺分,有参考价值请赐分,谢谢procedure TSInsurBillForm.QueryBitBtnClick(Sender: TObject);
    var std1,std2:string;
    begin
      with DataM.InpBillADOQ do
      begin
        close;
        sql.Clear;
        sql.Add('select a.item_name,a.item_spec,a.amount,a.units,a.costs/a.amount,a.costs, ');
        sql.Add('b.drug_insur_type1||b.pay_pay1,a.billing_date_time ');
        sql.Add('from inp_bill_detail a,price_vs_insur b ');
        sql.Add('where a.item_code=b.item_code ');
        sql.Add('and a.patient_id='''+trim(IdEdit.Text)+''' ');
        sql.Add('and trunc(a.billing_date_time) >=:std1 ');
        sql.add('and trunc(a.billing_date_time) <=:std2 ');
        sql.Add('order by a.billing_date_time ');
        Parameters.ParamValues['std1']:=strToDateTime(DateToStr(BeginDateTimeP.Date)+' 00:00:00');
        Parameters.ParamValues['std2']:=StrToDateTime(DateToStr(EndDateTimeP.Date)+' 23:59:59');
        prepared;
        open;
        //////////////////////////////////////////////////////////////
        DataM.SumADOQ.Close;
        DataM.SumADOQ.SQL.Clear;
        std1 := datetostr(BeginDateTimeP.Date)+' 00:00:00'   ;
        std2 := datetostr(EndDateTimeP.Date)+' 23:59:59';
        DataM.SumADOQ.SQL.Add('select sum(costs)  from inp_bill_detail ');
        DataM.SumADOQ.sql.Add('where patient_id='+''''+trim(IdEdit.Text)+'''');
        DataM.SumADOQ.sql.Add(' and billing_date_time>='+ 'to_date('+''''+std1+''''+','+''''+'yyyy-mm-dd hh24:mi:ss'+''''+')');
        DataM.SumADOQ.sql.add(' and billing_date_time<='+ 'to_date('+''''+std2+''''+','+''''+'yyyy-mm-dd hh24:mi:ss'+''''+')');
        DataM.SumADOQ.open;
        Label10.Caption:=DataM.SumADOQ.Fields[0].AsString;
        DataM.SumADOQ.Close;
        //////////////////////////////////////////////////////////////
        if recordcount<1 then
          application.MessageBox('该病人在此时间段内没有发生费用!','系统提示',32);
          exit;
          close;
      end;
    end;