问个按日期查询的问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 08:48:01
asp.net
数据库使用的是SQL2005,有字段BeginDate(开始日期)和EndDate(结束日期),现在想按照这两个来查询数据

可以选择开始日期和结束日期,也可以为空

看图:http://dl2.csdn.net/down4/20080314/14105103700.jpg

假设页面选择:
1、开始日期可以选择一个区间断:Sa,Sb
开始时间断之前加一个CheckBox:chkSta

2、结束日期可以选择一个区间断:Ea,Eb
结束时间断之前加一个CheckBox:chkEnd

根据是否选中了对应的CheckBox来判断组合什么样的SQL语句
第一:当两个CheckBox一个也没有选择的时候
select * from 表
第二:当只选择了开始时间段的CheckBox时(chkSta被选中)
select Convert(datetime,Convert(varchar(10),BeginDate),120)>Sa and Convert(datetime,Convert(varchar(10),BeginDate),120)<Sb from 表
第三:当只选择了结束时间段的CheckBox时(chkEnd被选中)

select Convert(datetime,Convert(varchar(10),EndDate),120)>Ea and Convert(datetime,Convert(varchar(10),EndDate),120)<Eb from 表
第四:当两个CheckBox都选中时(chkSta和chkEnd都被选中)
select
(
Convert(datetime,Convert(varchar(10),BeginDate),120)>Sa and Convert(datetime,Convert(varchar(10),BeginDate),120)<Sb
) and
(
Convert(datetime,Convert(varchar(10),EndDate),120)>Ea and Convert(datetime,Convert(varchar(10),EndDate),120)<Eb
)
from 表

这个是要写查询语句吧?

1、界面:
两个TextBox,两个Calend