我做了一个表单,是这样的:
     请输入起止范围:
          <input name="StartDate" type="text" id="StartDate" size="10" maxlength="8" />
          ~
          <input name="EndDate" type="text" id="EndDate" size="10" maxlength="8" />
用户根据我规定的格式输入范围:
年 :2005
月:200501
日:20050101用户在前后两个框输入数据以后,我要构成一个SQL进行查询,但是翻了以下资料,发现构成月和日查询不好弄,比如:用户输入200504~200706,我该怎么构成语句呢?还有用户选择日查询以后,我使用了Betweenand句式,
sqlD = "and AddTime between "& StartDate &" and "&EndDate &""
但是这条语句执行出错,不知道正确的该如何写呢?

解决方案 »

  1.   

    sqlD = "and convert(varchar,AddTime,112) between '"& StartDate &"' and '"&EndDate &"'"
      

  2.   

    月:200501convert(varchar(6),时间列,112)
    然后进行比较
      

  3.   

    这样就可以Addtime between convert(datetime,StartDate +'01') and convert(datetime,EndDate +'01')
      

  4.   

    或者这样 
    year(a) between convert(int,left(StartDate ,4)) and convert(int,left(EndDate ,4))
    and 
    month(a) between convert(int,right(StartDate ,2)) and convert(int,right(EndDate ,2))