我如何从服务器的数据库中获取一天前的记录。我已经使用 datetime 插入记录。下面是记录的样子。
2013-01-15 23:44:02
我已经使用 strtotime('-1 day') 但它返回本地系统时间。我想获得一天前的记录并在条件下做一些事情..
提前谢谢..
where date(date_column) = DATE_sub(NOW(), INTERVAL 1 DAY);
利用DATE_ADD
SELECT *
FROM tablename
WHERE DATE(dateCol) = DATE_ADD(CURDATE(),INTERVAL -1 DAY)
SELECT * from table WHERE datefield < DATE_SUB(NOW(), INTERVAL 1 DAY)
您将使用 sql 查询将其存档。
SELECT * FROM tablename WHERE DATE(datefield)=DATE_ADD(CURDATE(),INTERVAL 1 DAY)
CURDATE()
将返回当前Mysql Server
时间。
你可以使用这个函数 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
$yesterday = strtotime('Y-m-d h:i:s','yesterday');
SELECT * FROM tablename WHERE datefield = '$yesterday'