这是我的数据结构:
seasons
id from to name
-----------------------------------------
1 2015-11-01 2015-12-15 season1
2 2015-12-16 2015-12-30 season2
3 2015-12-31 2016-01-20 season3
我需要一个sql查询,它将返回日期范围2015-12-10
和2015-12-20
之间的所有记录 - 这将是记录1和2。
任何想法?
答案 0 :(得分:1)
日期重叠的最佳解释Determine Whether Two Date Ranges Overlap
SELECT *
FROM YourTable
WHERE `from` <= '2015-12-20'
AND `to` >= '2015-12-10'
请勿使用from
等保留字作为字段名称
答案 1 :(得分:-1)
您应该使用BETWEEN
运算符。
喜欢这里: How do I query between two dates using MySQL?
编辑:
根据您的数据结构,您可以使用&gt;和&lt;运算符。
SELECT * FROM `seasons`
WHERE from > '2015-12-10' AND to < '2015-12-20'