--双11活动结束时间大于当前服务器时间代表有效期的活动
--实现1
select * from ProdCar A where A.EndDate> GETDATE()
and A.EndDate >='2019-11-07 00:00:00.000'
AND '2019-11-07 18:00:00.000' > A.BeginDate
--实现2
--给定时间区间(begin,end),数据库字段BeginDate与EndDate,现在要判断它们之间是否有交集
SELECT * FROM ProdCar A where A.EndDate> GETDATE()
AND NOT ((A.EndDate < '2019-11-04 00:00:00.000') OR (A.BeginDate > '2019-11-05 18:00:00.000'))
--实现3
select * from ProdCar A
where A.EndDate> GETDATE() AND
(A.BeginDate > '2019-11-04 00:00:00.000' AND A.BeginDate <'2019-11-05 18:00:00.000') OR (A.BeginDate < '2019-11-04 00:00:00.000' AND A.EndDate >'2019-11-05 18:00:00.000')
OR(A.EndDate > '2019-11-04 00:00:00.000' AND A.EndDate <'2019-11-05 18:00:00.000')
--实现4
SELECT * FROM ProdCar A where A.EndDate> GETDATE()
and
( A.BeginDate between '2019-11-04 00:00:00.000' and ('2019-11-05 18:00:00.000') )
OR ( A.EndDate between '2019-11-04 00:00:00.000' and ('2019-11-05 18:00:00.000') )
OR ( '2019-11-04 00:00:00.000' between A.BeginDate AND A.EndDate )
OR ( '2019-11-05 18:00:00.000' between A.BeginDate AND A.EndDate )