而改为 WHERE (时间 LIKE #5/13/2003 15:13:13# ) 就找到了?
而写成:WHERE (时间 BETWEEN #5/13/2003 15:13:13# and  #5/13/2003 15:13:14#  ) 也能找到 时间字段是 5/13/2003 15:13:14 的记录?
明明这条记录存在,等号却不管用了,只能用like,哪位高手解释一下?

解决方案 »

  1.   

    between and 相当与 
    >=  and <=
      

  2.   

    回复人: net1999(好人) ( ) 信誉:97  2003-07-24 00:00:00  
    但我想知道为什么: " 时间=#2003-7-23 12:20:22#  " 条件找不到已经看到的时间记录呢(看到的时间也是通过同样的方法写进去的,不应该有多少毫秒的差异的吧)?我认为是精度的问题,时间实际上是个double值,差不多是你说的毫秒,你把时间格式改成有毫秒的,然后显示看看就知道了。但是加上毫秒也不一定能解决,因为精度或许还是不够,有个办法,就是时间保存到数据库的时候先降低精度,例如这样,StrToDateTime(DateTimeToStr(Now)),这时候时间格式不要毫秒,当然也有别的办法,例如你用的Like。
      

  3.   

    to itmb118: 
    在SQL语句中能转换成字符串吗?to cfqdream:
    LIKE准吗?我怕找差了。
      

  4.   

    在sql用getdate()給時間字段賦值時寫成 update xxtable set datetimeField=convert(char(19),getdate(),120)就不會有毫秒了
    另﹕where convert(char(19),datetimefield,120)=convert(char(19),getdate(),120)也許行
      

  5.   

    錯了:
    另﹕where convert(char(19),datetimefield,120)='2003-4-1 12:20:22' 也許行
      

  6.   

    where convert(char(19),datetimefield,120)='2003-4-1 12:20:22' 
    中19是怎么会事?你哪知道我的WINDOWS是什么国家的?语言不一样,日期的格式就不一样,ACCESS或SQL语言能全认吗?它不与当前的系统设置有关系吗?
      

  7.   

    要知道不同的数据库对参数的数据类型的转换顺序是有差别的:
    The former example is a good case ...