大家好。
情况是这样的,要显示页面中要有一个 下拉框 按天查询条件(不限,一天前,二天前,三天前,一星期天)的数据这个下拉框对应的代码是:<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 (后面的条件是该如何写)
情况是这样的,要显示页面中要有一个 下拉框 按天查询条件(不限,一天前,二天前,三天前,一星期天)的数据这个下拉框对应的代码是:<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 (后面的条件是该如何写)
--value下拉框的value值。一天内包括今天么?不包括的话-value+1
where datediff(day,addtime,getdate())<= case when @n ='不限' then datediff(day,addtime,getdate()) else cast(@n as int) end
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()
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()