Select 日期和时间列 if MYSQL

Select both date and time column if MYSQL

嗨,我正在尝试 select post 其中 post 日期小于当前日期,并且 post 时间小于当前时间 不幸的是我把 post 日期和 post 时间放在单独的列上, 每当我尝试获取当天的 post 并且时间已过去

SELECT date_published,`twitter_post`,`twitter_pubstatus`,`time_published`
FROM `topics` WHERE date_published <= CURDATE() AND time_published < CURTIME()

这当然给了我错误的结果,因为 MYSQL 过滤器 Post time_published 小于当前小时。 简而言之,我可以将条件应用于在当前日期发布的 select post 早于当前时间的时间,并且 SELECT 其他 post 早于当前日期, 我尝试使用 AS 语句来过滤第一个结果(其中 post 比今天早),然后将其与另一个结果结合起来(post 是今天的日期并且时间过去了)。 这是我的 topics 结构

twitter_post     user_id       date_published time_published
------------|-----------------|--------------|----------------
some post   |    6507763398   |  2016-04-22  |  22:00:21
other post  |    6507763398   |  2016-04-24  |  02:10:21
future post |    6507763398   |  2016-04-24  |  23:34:21

使用

WHERE timestamp(date_published, time_published) <= NOW()

简短易读,但不能使用索引。为了让它更快使用

WHERE date_published < CURDATE()
  OR (date_published = CURDATE() AND time_published <= CURTIME())