不同SQL对日期的表示不一样的

解决方案 »

  1.   

    With Query1 do begin
         Close;
         SQL.Clear;
         SQL.Add('select * from a where mydate>:FDate');
         ParamByName('FDate').asDateTime:=StrToDateTime('02-08-09');
         Open;
    end;
      

  2.   

    应该是select * from a where mydate>‘02-08-09’
      

  3.   

    在ACCESS中可以使用
    select * from a where mydate>'2-08-09' 这样的语法格式的
      

  4.   

    如果数据库是SQl Server可以这样:
    Select * from a where convert(varchar(8),mydate,112)>'20020809'
      

  5.   

    试一试:select * from a where to_char(mydate)>='02-08-09';
      

  6.   

    With Query1 do begin
         Close;
         SQL.Clear;
         SQL.Add('select * from a where mydate>'+strtodatatime(edit1.text));
         Open;
    end;
      

  7.   


    ...
    ADOQuery.SQL.Add('where mydate>=#'+Edit1.text+'#');
    ...
      

  8.   

    select * from a where mydate>02-08-09
    ------------
    1.如果是用access数据库,你在定义时间字段的 时候有几个选项:常规日期,长日期,段日期,长时间,短时间
    后面都有相应的格式,如长日期是'2002-7-2',你的字段要这样比较:
    madate>'2002-08-09'
    或把后面的值定义一个变量,好控制。
      

  9.   

    SQLSERVER中
    select * from a where mydate>‘2002-08-09’
    ACCESS中
    select * from a where mydate>‘2002-08-09’
    ORICALE
    select * from a where mydate>to_date(‘2002-08-09’,'yyyy-mm-dd')
      

  10.   

    其中SQLSERVER,和ACCESS
    这种日期和控制面版里的时间格式有关