サーバーのデータベースから 1 日前のレコードを取得するにはどうすればよいですか。日時を使用してレコードを挿入しました。以下は、レコードがどのように見えるかです。
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)
この関数を使用できます 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'
これを sql クエリでアーカイブします。
SELECT * FROM tablename WHERE DATE(datefield)=DATE_ADD(CURDATE(),INTERVAL 1 DAY)
CURDATE()
Mysql Server
現在時刻を返します。