php - 如果 MYSQL,则选择日期和时间列

标签 php mysql twitter-oauth

您好,我正在尝试选择发布日期小于当前日期的帖子,并且发布时间小于当前时间 不幸的是,我将发布日期和发布时间放在单独的列上, 每当我尝试获取当天的帖子并且时间已通过

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/

相关文章:

php - 适用于 iOS 的网络框架是什么?

php - 同一页面上的 2 个表单 php

SQL 查询 : SUM on three columns with criteria

mysql - 更新 ReactJS 中检索的 SQL 数据的有效方法

mysql - 我确实尝试用数据库中的字段值填充前端的组合框

ios - 使用 Swift 在 Twitter 上实现单用户 OAuth

amazon-web-services - 在 AWS Cognito 中使用 Twitter 作为身份提供商

php - 从数据库表渲染HTML以查看 Blade 问题

swift - Swift 和 SafariServices.framework 上的 Twitter 身份验证

php - 我可以在不转义的情况下安全地将哪些字符插入到 SQL 数据库中?