我一直用的mssql数据库,今天搞一个access的,为何日期格式的数据用sql选出的不对啊?
sql.Add('select * from sj_ck where 出库日期>03-7-24');
这样的一行结果把所有的数据都选出来了,包括23号的???
在mssql下sql.Add('select * from sj_ck where 出库日期>'+''''+'03-7-24'+'''');结果就正常的,在access下为什么不对呢?

解决方案 »

  1.   

    用这个
    sql.Add('select * from sj_ck where DateValue(出库日期)>#2003-07-24 00:00:01#');
      

  2.   

    错了
    对不起
    sql.Add('select * from sj_ck where DateValue(出库日期)>#2003-07-24#');
      

  3.   

    能说说日期格式与mssql不同之处吗?
      

  4.   

    Access中的日期格式要有##来标记。在字段上要用数据库函数datevalue来标示。很烦!!
      

  5.   

    不过datevalue好象可以省略,我的
        sql.Add('select * from sj_ck where 出库日期>=#'+datetimetostr(a)+'#');
          sql.Add(' and 出库日期 <=#'+datetimetostr(b)+'#');
    可正常显示