在2个单独的日期范围内进行选择,即2019-2018年和2107-2016年

时间:2019-02-18 17:19:18

标签: mysql

我正在尝试选择2个单独的日期范围之间的所有记录。

例如所有在2019-12-31至2019-01-01之间以及从2017-12-31至2017-01-01之间的记录

如果需要,我还希望能够向查询添加另一个日期范围,但它们可能不遵循,即可能会错过一年。

我只是无法理解此过程的mysql代码。

此刻我正在使用它,但它不起作用:

SELECT * FROM sa_incidents 
WHERE
incidentDate 
BETWEEN '2019-01-01' AND '2019-12-31' 
OR '2017-01-01' AND '2017-12-31'

我希望结果显示这些日期之间的所有记录。

但是,它显示了整个表中的所有记录,包括2014年的任何日期。

如果我使用AND运算符,它将仅显示第一个范围,即2019年的所有日期。

1 个答案:

答案 0 :(得分:2)

将两个 BETWEEN 都包裹在单独的括号()

中后,如何处理
SELECT * FROM sa_incidents 
WHERE
(incidentDate BETWEEN '2019-01-01' AND '2019-12-31')
OR (incidentDate  BETWEEN '2017-01-01' AND '2017-12-31')
相关问题