Php,MySql选择当年,月份范围内的记录

时间:2017-01-04 05:03:05

标签: php mysql

我尝试创建一个查询来选择适合当前年月范围的记录。这是我的数据库表:

id      name        date_start  date_end
======================================
1       John        2016-05-20  2018-01-01
2       Peter       2017-02-02  2017-05-10
3       Mike        2015-02-02  2017-02-06

和我的查询:

SELECT  * FROM users 
WHERE YEAR(date_start) = 2017 
  AND MONTH(date_start) = 01 
  OR YEAR(date_end) = 2017 
  AND MONTH(date_end) = 01 

所以基本上我需要选择当前年/月的所有用户,在这种情况下,2017在开始/结束列范围内。

在上述查询中,只应选择John和Mike记录。

1 个答案:

答案 0 :(得分:6)

我想您只是想知道哪些用户的日期2017-01-01date_startdate_end定义的范围内。如果是这样,那么以下查询应该有效:

SELECT *
FROM users
WHERE date_start <= '2017-01-01' AND date_end >= '2017-01-01'

在这里演示:

SQLFiddle