请教一个查询优化的问题.
本人在写按条件查询结果的表单中,
比如有2个条件'开始日期'和'结束日期',我在用户提交后都是用下面的判断去做区分:
if request(开始日期)="" or request(结束日期)="" then
.
.
sql=select * from tb
rs.open
.
else
sql=select * from tb where 日期 between "开始日期" and "结束日期"
end if.
我想问问,有没有方法实现只有一句sql既可以满足条件不为空时又可以满足条件为空时的查询. 谢谢!
------解决方案--------------------dim tjfind
if request(开始日期)="" or request(结束日期)="" then
tjfind=""
else
tjfind=" where 日期 between '开始日期' and '结束日期'"
end if
sql="select * from tb"+tjfind
------解决方案--------------------sql="select * from tb"
if request(开始日期)<>"" and request(结束日期)<>"" then
sql= sql & " where 日期 between '开始日期' and '结束日期'"
end if
...
------解决方案--------------------select * from tb where 日期 between isnull("开始日期",'1900-1-1') and isnull("结束日期"9999-1-1)
一句sql不是也行么 isnull写法需要处理下,我就是给个思路 不能直接用哦