我不太确定如何为MySQL数据库构建以下查询。
我的表有两个包含UNIX时间戳的int字段startDate
和endDate
。 endDate
可以是NULL
,表示没有结束日期。
我希望得到当前时间戳在该范围内的所有记录。
如果endDate
有值,我可以这样做:
SELECT * FROM table WHERE startDate < NOW() AND endDate > NOW()
如果endDate
为NULL,我可以这样做:
SELECT * FROM table WHERE
的startDate < NOW()
我的问题是,如何将上述两个查询合并为一个单条件查询?
答案 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())