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%' 不过我感觉这样写不妥,想找更好的方法。请求赐教,不能解决问题者不要乱回复。
WHERE startDate BETWEEN '2011-1-1' AND '2011-3-1'
------解决方案-------------------- OR
SQL code
WHERE startDate >= '2011-1-1'
AND startDate < '2011-3-2'
------解决方案-------------------- startDate用DATETIME类型,不要用字符型
------解决方案--------------------
------解决方案-------------------- 时间的话最好是用 datetime 格式
------解决方案-------------------- select * from line where (select startDate from line where startDate between '2011-1-1' and '2011-3-1') in('2011-2-1','2011-2-3','2011-3-2')