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())
嗨,我正在尝试 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())