0

我有点不确定如何为 MySQL 数据库构建以下查询。

我的表有两个 int 字段,startDate它们endDate包含 UNIX 时间戳。endDate可以NULL,这意味着没有结束日期。

我想获取当前时间戳在该范围内的所有记录。

endDate有价值的情况下,我可以这样做:

SELECT * FROM table WHERE startDate < NOW() AND endDate > NOW()

如果endDate是NULL,我可以这样做:

SELECT * FROM table WHERE开始日期< NOW()

我的问题是,如何将上述两个查询组合成一个单一的条件查询?

4

2 回答 2

3
SELECT * FROM table 
WHERE startDate < NOW() AND (endDate IS NULL OR endDate > NOW())
于 2012-06-22T22:10:51.047 回答
2

简单的:

SELECT * FROM table WHERE startDate < NOW() AND
                          (endDate IS NULL OR endDate > NOW())
于 2012-06-22T22:10:44.383 回答