2014-04-11 77 views
1

我已經閱讀了此前的條目,但這些修復似乎不起作用。我懷疑(?)它是日期存儲在數據庫中的一種方式,我想它的格式。可能是錯的。MYSQL從過去的24小時中選擇條目

總之:

WHERE exp_store_orders.order_status_name = 
'Approved' AND exp_store_orders.order_completed_date 
> DATE_SUB(NOW(), INTERVAL 24 HOUR) 
    LIMIT 0 , 30 

這是當前的嘗試。

order_completed_date格式例如:1396891300

這是從/對快報商店ExpressionEngine。

回答

3

order_completed_date格式例如:1396891300

使用FROM_UNIXTIME...order_completed_date

FROM_UNIXTIME(exp_store_orders.order_completed_date) 
> DATE_SUB(NOW(), INTERVAL 24 HOUR) 

如果訂單日期indexed,要利用它,轉換日期的另一部分到unix_time格式。

exp_store_orders.order_completed_date 
> UNIX_TIMESTAMP(DATE_SUB(NOW(), INTERVAL 24 HOUR)) 

參見

+0

豈不是更好地與其它操作數轉換,因此MySQL可以使用一個索引:'exp_store_orders.order_completed_date> UNIX_TIMESTAMP(DATE_SUB( NOW(),INTERVAL 24 HOUR))' – VMai

+0

它可以。這一切都取決於訂單日期是否被索引,再次。答案已更新。 –

+1

請記住,爲我未來的答案。 :) –

相關問題