,现在表中有两字段,页面部门中,需要将里面输入的两个时间当参数到表中查询数据,我如何写sql语句,应该的判断4中情况把
我现在只想到将两个时间段的数据全查出来,让后和我传进来的参数比较,来写sql,感觉应该有好的办法,大家帮帮忙把,谢谢啊
这样可以
select * from t1 where (@timeBeg='' or START_TIME>=@timeBeg) and (@timeEnd='' or START_TIME=<@timeEnd)
你是想查两个时间段的数据?
select * from table where table.START_TIME>='2015-08-01 00:00:00' AND table.END_TIME<='2015-8-31 23:59:59'
如果是页面部门通过传时间参数到数据库中查询数据,开始时间:startTime,结束时间:endTime,
select * from table a where a.START_TIME >=startTime and a.END_TIME <=endTime
反正你有时间控件,可以传任何时间参数到数据库的。
首先获取到输入开始时间是多少定义为beginTime吧,再获取到输入结束时间是多少定义为endTime
Sql:string strSQL="Select * from 表 where Start_Time>=@beginTime and End_Time<=@endTime"
SqlParameter[] para={new SqlParameter("@beginTime",SqlDbType.DateTime),
new SqlParameter("@endTime",SqlDbType.DateTime)};
para[0].value=beginTime;
para[1].value=endTIme;
return SqlHelper.ExecuteDataset(*****,CommandType.Text,strSQL,para);
这样或取得到的是所有在输入的开始时间与结束时间之间的数据,然后绑定就行了
判断结束时间~如果结束时间的时间部分为0时0分0秒就设置成23时59分59秒或者日加1~
然后按一般的查询处理就好了~
where START_TIME >= @StartTime AND END_TIME <= @EndTime