如何构建条件SQL查询

时间:2012-06-22 22:07:37

标签: mysql sql

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

我的表有两个包含UNIX时间戳的int字段startDateendDateendDate可以是NULL,表示没有结束日期。

我希望得到当前时间戳在该范围内的所有记录。

如果endDate有值,我可以这样做:

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

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

SELECT * FROM table WHERE的startDate < NOW()

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

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

易:

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