sql时间查询,时间包含问题
表A字段如下,sdate为出差起止时间,edate为出差结束时间:
sdate edate createby
2013/3/22 0:00:00 2013/3/29 0:00:00 peter.ding
2013/3/22 0:00:00 2013/3/29 0:00:00 peter.ding
2013/3/30 0:00:00 2013/4/1 0:00:00 peter.ding
输入框搜索有起止时间sd和结束时间ed,要求只要搜索的时间段内,有出差在外的就要显示出来。只要在搜索的时间段内,就要显示出来。比如我搜2013-3-29----2013-3-30,那么上边三条都要显示。
select * from A WHERE (sdate >= '2013-03-29 00:00:00') AND (sdate <= '2013-03-31 23:59:59') OR
(edate >= '2013-03-29 00:00:00') AND (edate <= '2013-03-31 23:59:59')这个并不对,请高人指点,谢谢
------解决方案--------------------select * from A
WHERE (sdate BETWEEN '2013-03-29' AND '2013-03-30')
OR ('2013-03-29' BETWEEN sdate AND edate)
吐槽下,你明明是要结束日期为2013-3-30,怎么用了'2013-03-
31 23:59:59'?