select * from [INVOICE$] where IsDate([日期]) and DateDiff("m", [日期], now) > 1;我用ADOQuery去查询EXECL的表格,其他一般的查询都行(例如select * from [INVOICE$])。就上面一句不行;我的意图是想查找[日期]字段里的内容是否为合法日期,如果是的话,就提取[日期]里的月数据和现在的月比较(距离当前月超过一个月的),并得到数据。

解决方案 »

  1.   

    select * from [INVOICE$] where IsDate([日期]) and DateDiff('m', [日期], now) > 1;
      

  2.   

    建议多看看SQL和VB语法
    你这样混用肯定不对的
    如:
    1、select IsDate([日期]) from [INVOICE$]
    2、select * from [INVOICE$] where (DATEDIFF(Day, [日期], GETDATE()) >= 1) 
      

  3.   

    建议多看看SQL和Delphi语法
    你这样语法混用肯定不对的
    就类似如下使用:
    1、select IsDate([日期]) from [INVOICE$]
    2、select * from [INVOICE$] where (DATEDIFF(Day, [日期], GETDATE()) >= 1)