大家好。
    情况是这样的,要显示页面中要有一个 下拉框 按天查询条件(不限,一天前,二天前,三天前,一星期天)的数据这个下拉框对应的代码是:<SELECT ID=create_date NAME=date size="1"> 
   <option selected value="不限">请选择发布时间</option>
   <OPTION VALUE="不限">不限</OPTION> 
   <OPTION VALUE="1">一天内</OPTION> 
   <OPTION VALUE="2">二天内</OPTION>
   <OPTION VALUE="3">三天内</OPTION>
   <OPTION VALUE="7">一星期内</OPTION> 
   <OPTION VALUE="14">二星期内</OPTION>
   <OPTION VALUE="30">一个月内</OPTION> <OPTION VALUE="91">三个月内</OPTION> 
   <OPTION VALUE="183">六个月内</OPTION> <OPTION VALUE="365">一年内</OPTION> 
</SELECT>在 AA表中有一个字段 addtime 这就是做为插入时间的。请问大哥大姐们,select * from AA where (后面的条件是该如何写)

解决方案 »

  1.   

    select * from AA where addtime>=dateadd(dd,-value,getdate())
    --value下拉框的value值。一天内包括今天么?不包括的话-value+1
      

  2.   

    select * from AA 
    where datediff(day,addtime,getdate())<= case when @n ='不限' then datediff(day,addtime,getdate()) else cast(@n as int) end
      

  3.   

    select * from AA where addtime>=Convert(varchar(10),dateadd(dd,-value,getdate(),120)
      

  4.   

    DECLARE @daycount INT
    SET @daycount = 1 --1,2,3,7,14,30,91,183,365
    SELECT * FROM AA 
    WHERE 1 = 1
    AND addtime >= DATEADD(DAY, -1*@daycount, GETDATE())
    AND addtime < GETDATE()
      

  5.   

    DECLARE @daycount nvarchar(20)
    SET @daycount = '1' --无限,1,2,3,7,14,30,91,183,365
    SELECT * FROM AA where @daycount='无限'
    union all
    SELECT * FROM AA
    WHERE @daycount!='无限'
        AND addtime >= DATEADD(DAY, -1*convert(int,@daycount), GETDATE())
        AND addtime < GETDATE()