首页 文章

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

提问于
浏览
1

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

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 回答

  • 6

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

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

    Demo here:

    SQLFiddle

相关问题