您好,我正在尝试选择发布日期小于当前日期的帖子,并且发布时间小于当前时间 不幸的是,我将发布日期和发布时间放在单独的列上, 每当我尝试获取当天的帖子并且时间已通过
SELECT date_published,`twitter_post`,`twitter_pubstatus`,`time_published`
FROM `topics` WHERE date_published <= CURDATE() AND time_published < CURTIME()
这当然给了我错误的结果,因为 MYSQL 过滤 time_published
小于当前小时的 Post 。
简而言之,我可以应用条件来选择当前日期发布的、时间早于当前时间的帖子,并选择早于当前日期的其他帖子,
我尝试使用 AS
语句来过滤第一个结果(其中帖子早于今天),然后将其与另一个结果连接(其中帖子的日期是今天并且时间已过)。
这是我的 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())
关于php - 如果 MYSQL,则选择日期和时间列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36826729/