我有一个包含以下字段的表格。
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)"
答案 0 :(得分:2)
如果一个事件在11月结束或在第1个结束并且从1月开始或在12月开始之前重叠,那么该事件将在11月重叠:
这是表达这一点的一种方式:
SELECT *
FROM tbl_events
WHERE end >= '2015-11-01' and start < '2015-12-01';