简单的WHERE OR查询不起作用

时间:2016-01-02 14:18:19

标签: mysql sql

看看这里。 https://i.gyazo.com/3e84e8d01cbcd7e29a30bb998cc8e30d.png

我有一个试图获取某些博客的查询,published = 1表示已发布,如果published = 2那么这意味着它的草稿直到该日期到来

出于某种原因,我无法让它发挥作用。

它不应该返回行(id 3),因为明天是publish_date,但它仍然存在

2 个答案:

答案 0 :(得分:0)

如果您希望看到今天或过去起草过的博客,那么您应该执行以下操作:

SELECT *
FROM blogs
WHERE published = 1
OR (publish_date <= CURDATE() AND published = 2)
ORDER BY id DESC
LIMIT 10 offset 0

答案 1 :(得分:0)

<=更改为<form>。您希望发布日期为过去。

您不应该对日期进行硬编码,但是,您应该检查当前日期。