我正在尝试创建一个查询来选择适合当前年月范围的记录 . 这是我的数据库表:
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 回答
我想你只是想知道哪些用户的日期
2017-01-01
在他们的范围内,由date_start
和date_end
定义 . 如果是这样,那么以下查询应该有效:Demo here:
SQLFiddle