2011-11-10 117 views

回答

-3
SELECT * FROM news WHERE date < DATEADD(Day, -1, date) 
+0

你需要'>'NOT'<' –

2
SELECT * FROM news WHERE date > DATEADD(d,-1,GETDATE()) 
+1

沒關係,我看你已經添加了它是你正在使用的MySQL而不是SQL Server。不過,答案可能會幫助別人:) – Simon

+0

是啊,它幫助我兄弟:) –

52
SELECT * FROM news WHERE date > DATE_SUB(NOW(), INTERVAL 24 HOUR) 
+0

是否有可能這樣做:WHERE SomeDate> Now()-1? –

+2

@Andrew:我認爲這是'24小時',而不是'24小時'。 –

+0

@Ypercube - yup,已更正。 – Andrew

92

您只需選擇日期是在當前時間減1個交易日走高。

SELECT * FROM news WHERE date >= now() - INTERVAL 1 DAY; 
0

有很多方法可以做到這一點。所列出的那些工作的偉大,但這裏的另一種方式,如果你有時間字段:

SELECT [fields] 
FROM [table] 
WHERE timediff(now(), my_datetime_field) < '24:00:00' 

timediff()返回一個時間對象,因此不作比較它的錯誤86400(以秒爲單位的天數時) ,否則你的輸出將會是各種各樣的錯誤。

+1

您可能希望使用 2015-01-22 19:09:39

1

檢查:

SELECT * from [table_name] WHERE date > (NOW() - INTERVAL 24 HOUR). 
4
SELECT * from new WHERE date < DATE_ADD(now(),interval -1 day); 
相關問題