2016-04-24 21 views
0

嗨我想選擇帖子,其中發佈日期少於當前日期,並且發佈時間減去感謝當前時間 不幸的是,我試圖將帖子日期和發佈時間分開列, 每當我嘗試獲得當天的職務,並隨着時間的流逝如果MYSQL選擇日期和時間列

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

這給了我當然是錯誤的結果如MYSQL過濾後用time_published小於當前小時。 總之我可以應用條件來選擇在當前日期發佈的時間早於當前時間的帖子,並且選擇比當前日期早的其他帖子, 我嘗試使用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 
+0

怎麼樣date_published <='.date('Y-m-d')。'和time_published <'.date('H:i:s')。迴應它。讓c讓你得到。 – rahul

+0

首先,存儲日期和時間作爲一個單獨的實體 – Strawberry

+0

@Strawberry我在想什麼,但我的腳本已經在單獨的列中包含Date&Time,這也會導致我重寫插入腳本。 @梅花我已經輸出日期變量和所有工作正常,但問題日期和時間字段在不同的列 –

回答

2

使用

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

這是短期和可讀性,但不能使用索引。使其更快使用

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

完美我不知道'timestamp'函數它將日期和時間結合在一起並修復我的錯誤。 –