两个字段,一个保存的是日期,一个保存的是时间,如何从中查找大于当前日期和时间的记录。

解决方案 »

  1.   

    1.如果存放是字符类型如下设置即可---标准日期类型自己组合转化下即可.
    数据规范说明dat,s:字符类型
    dat存放标准为标准日期字符类型,如2008-05-28
    s存放标准时间字符类型,如:07:30,表示早上7点30分
    2.查询语句
    select * from Table_1 where cast(dat+' '+s as datetime)>getdate()
    XP+SQL2005下测试通过
      

  2.   

    adoquery1.Close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from 历史营业明细 where cast(时间记录+' '+时间 as dattime)>'+''''+formatdatetime('yyyy-mm-dd HH:mm:ss',a.DateTime)+'''');
    adoquery1.Open;
    那儿有问题呀???
      

  3.   

    试试这样可以么,可能麻烦一点
    adoquery1.Close; 
    adoquery1.SQL.Clear; 
    adoquery1.SQL.Add('select * from 历史营业明细'); //先查询出所有记录,再根据日期进行判断
    adoquery1.Open;
    for i :=0 to ADOQuery1.RecordCount do 
        begin
          if(日期>formatdatetime('yyyy-mm-dd',Now))
            begin
               取出该记录
            end
            else if(日期 = formatdatetime('yyyy-mm-dd',Now)) then//若日期相同则判断时间
                   begin
                      if(时间>formatdatetime('hh:mm:ss',Now)) then
                        begin 
                           取出记录
                        end;
                   end;  
             adoquery1.Next;
        end;