日期时间保存为Varchar,程序中得到的是TDateTime怎么比较?

解决方案 »

  1.   

    简单一点就是
    strtodatetime(varchar)-datetime
    但是前提是varchar符合计算机的日期时间格式,否则只能分割出年月日时分秒,再组合为时间。
      

  2.   

    关键是在程序中用Sql语句和库中的Varchar类型的字段值进行比较
      

  3.   

    加入
    Function DaysBetween(datetimepicker1,datetimepicker2:TDateTime):integer;
    begin
    Result:=Trunc(datetimepicker1-datetimepicker2);
    end;
      

  4.   

    DaysBetween(strtodatetime(varchar)-datetime);
      

  5.   

    var
      s1,s2:string;
      form1.adoquery1.add('select * from 表 where s1=s2');
      form1.ADOQuery1.Parameters.ParamByName('s1'):=form1.adotable1.fieldvalue['日期'];
      form1.ADOQuery1.Parameters.ParamByName('s2'):=DateTimetostr(DateTime型数据)