1

サーバーのデータベースから 1 日前のレコードを取得するにはどうすればよいですか。日時を使用してレコードを挿入しました。以下は、レコードがどのように見えるかです。

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

この関数を使用できます 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 に答える
0

これを sql クエリでアーカイブします。

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

CURDATE()Mysql Server現在時刻を返します。

于 2013-01-16T06:00:00.680 に答える