sql语句书写,根据查询条件和数据内的字段查询交集记录
例如,我现在有一个旅游线路的出发日期,是这样的:2011-2-1,2011-2-3,2011-3-2
现在查询条件是这样的,2011-1-1~2011-3-1,现在要查询他们的交集,应该怎么写查询语句。
注,日期查询条件可能大于一个月,最大有三个月。
我本来想这样写的,
select * from line where startDate like '%2011-1-1%' or
startDate like '%2011-1-2%' ........ startDate like '%2011-3-1%'
不过我感觉这样写不妥,想找更好的方法。请求赐教,不能解决问题者不要乱回复。
[解决办法]
2011-2-1,2011-2-3,2011-3-2
指的什么意思?
是三个时间点?
还是2011-2-1到2011-2-3再到2011-3-2?
[解决办法]
WHERE startDate BETWEEN '2011-1-1' AND '2011-3-1'
[解决办法]
OR
WHERE startDate >= '2011-1-1' AND startDate < '2011-3-2'
[解决办法]
startDate用DATETIME类型,不要用字符型
[解决办法]