注意你的数据库表中的日期时间格式!
先试一下用'ELECT * FROM 表名 WHERE ((Etime<'2002-5-29'))'
若不行的话
在查询分析器中执行
    ELECT * FROM 表名 
那些时间数据是否是:2002-05-30:00:00:00.000,若日期后面的数据非零
例如 ‘2002-05-30 16:59:54.873’则传递字符串的时间参数的where从句
经常是无效的

解决方案 »

  1.   

    用'SELECT * FROM 表名 WHERE ((Etime<'02-5-29'))当然不行了,日期类型和字符类型不能这样比较,但Insert可以用字符类型代替日期类型
    可以试试
    SELECT * 
      FROM 表名 
     WHERE Etime < Convert(DateTime,'02-5-29')
    或者把Etime转为字符类型再比较
      

  2.   

    用'SELECT * FROM 表名 WHERE ((Etime<'02-5-29'))当然不行了,日期类型和字符类型不能这样比较,但Insert可以用字符类型代替日期类型
    可以试试
    SELECT * 
      FROM 表名 
     WHERE Etime < Convert(DateTime,'02-5-29')
    或者把Etime转为字符类型再比较
      

  3.   

    var s:string;
    begin
       s:=formatdatetime('yyyy-mm-dd',strtodate('02-5-29'));
    用'SELECT * FROM 表名 WHERE ((Etime<' + s + '))'