1

我如何从服务器的数据库中获取一天前的记录。我已经使用 datetime 插入记录。下面是记录的样子。

2013-01-15 23:44:02

我已经使用 strtotime('-1 day') 但它返回本地系统时间。我想获得一天前的记录并在条件下做一些事情..

提前谢谢..

4

6 回答 6

5
where date(date_column) = DATE_sub(NOW(), INTERVAL 1 DAY);
于 2013-01-16T06:00:51.533 回答
3

利用DATE_ADD

SELECT * 
FROM tablename 
WHERE DATE(dateCol) = DATE_ADD(CURDATE(),INTERVAL -1 DAY)
于 2013-01-16T06:01:37.637 回答
1
SELECT  * from table  WHERE  datefield  < DATE_SUB(NOW(), INTERVAL 1 DAY)
于 2013-01-16T06:03:21.657 回答
0

您将使用 sql 查询将其存档。

SELECT * FROM tablename WHERE DATE(datefield)=DATE_ADD(CURDATE(),INTERVAL 1 DAY)

CURDATE()将返回当前Mysql Server时间。

于 2013-01-16T06:00:00.680 回答
0

你可以使用这个函数 DATE_SUB(date,INTERVAL expr type)

http://www.w3schools.com/sql/func_date_sub.asp

W3schools 中提供的示例

假设我们有以下“订单”表:

Columns: OrderId, ProductName, OrderDate
Values: 1, Jarlsberg Cheese, 2008-11-11 13:23:44.657

现在我们要从“OrderDate”日期中减去 5 天。

我们使用以下 SELECT 语句:

SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 5 DAY) AS SubtractDate
FROM Orders
于 2013-01-16T06:02:26.847 回答
0
$yesterday = strtotime('Y-m-d h:i:s','yesterday');
SELECT * FROM tablename WHERE datefield = '$yesterday'
于 2013-01-16T06:04:01.490 回答