我在access中存了日期不是用的文本类型,格式如下:2003-4-9 22:34:09
我按字符比较大小的不到正确结果,如下: DateTime1:=DateToStr(DateTimePicker1.Date);
 DateTime2:=DateToStr(DateTimePicker2.Date);
 SQLString1:=' select * from sfzl where '+ 'mid(zlt,1,10) between'
  +''''+DateTime1+''''+'and  '+''''+DateTime2+'''';  
 如果DateTime1是2003-3-24,DateTime2是2003-4-7,运行SQL语句后2003-4-a,
只要a位比7小的都会在结果集里,如2003-4-10等,我要怎么改?

解决方案 »

  1.   

    SQLString1:=' select * from sfzl where '+ 'zlt between'
      +''''+DateTime1+''''+'and  '+''''+DateTime2+''''; 
    或者SQLString1:=' select * from sfzl where '+ ' zlt between'''+DateTime1+'''and  '''+DateTime2+'''';  
    这样就行或者
    SQLString1:=' select * from sfzl where '+ ' zlt〉='''+DateTime1+'''and zlt<= '''+DateTime2+'''';  '可以合并的,你那样写也对的
      

  2.   

    这样写还是解决不了问题呀,
    ”如果DateTime1是2003-3-24,DateTime2是2003-4-7,运行SQL语句后2003-4-a,
    只要a位比7小的都会在结果集里,如2003-4-10等“,这样的情况还会出现,