2010-08-30 5 views

Trả lời

156
SELECT * FROM tbl WHERE datetime < NOW() - INTERVAL 1 WEEK 

Nếu bảng của bạn lưu trữ thời gian biểu theo múi giờ khác với số tiền trả về NOW(), bạn có thể sử dụng UTC_TIMESTAMP() để nhận dấu thời gian trong UTC.

4
SELECT SUBDATE('2008-01-02', 7); 

HOẶC

SELECT SUBDATE(now(), INTERVAL 1 week); 

Kết quả:

2007-12-26

+0

làm thế nào để tôi làm 7 ngày trước từ hôm nay, với ngày và thời gian ký hiệu ... – tzmatt7447

11
SELECT * FROM table WHERE DATEDIFF(NOW(),colname) > 7; 
+3

Trong khi mã này có thể trả lời câu hỏi, cung cấp bối cảnh bổ sung về lý do tại sao và/hoặc làm thế nào mã này trả lời câu hỏi cải thiện dài của nó giá trị -term. – JAL

+0

cái này ngắn hơn, tôi có nên dùng cái này không? – moeiscool

+0

Có lẽ đây là ngắn hơn nhưng làm thế nào nó có thể sử dụng một chỉ mục. – swdev