mysql查询功能 - 日期范围

时间:2015-11-30 21:39:36

标签: mysql date range

这是我的数据结构:

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-102015-12-20之间的所有记录 - 这将是记录1和2。 任何想法?

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'