查询开始和结束字段

时间:2015-11-02 19:37:19

标签: mysql

我有一个包含以下字段的表格。

tbl_events
====================
id
title
start  -datetime
end    -datetime
status

我在该表中有以下数据。

tbl_events
========================
1
Test Title 1
2015-11-14 10:30:00
2015-11-15 15:00:00
active

2
Test Title 2
2015-10-31 00:00:00
2015-11-04 00:00:00
active

3
Test Title 1
2015-11-30 00:00:00
2015-12-1  00:00:00
active

我正在试图提出一个日历,当我拉起11月份时,我想要显示所有这些事件,因为它们要么在11月有开始日期或结束日期。我有以下查询,我可以只使用一个字段,但不知道如何在我有一个开始和结束字段时这样做。

SELECT * FROM tbl_events WHERE(start BETWEEN '2015-11-01 00:00:00 AND 2015-11-31 23:59:59)"

1 个答案:

答案 0 :(得分:2)

如果一个事件在11月结束或在第1个结束并且从1月开始或在12月开始之前重叠,那么该事件将在11月重叠:

这是表达这一点的一种方式:

SELECT *
FROM tbl_events
WHERE end >= '2015-11-01' and start < '2015-12-01';