12

データベースから今日のデータを取得したいのですが、その方法がわかりません。実際には、過去24時間ではなく、今日のデータ(実際のサーバー時間に基づく)からデータを取得したいと思います。

昨日のデータも取得したいです。誰かが私にそれを行う方法を手伝ってもらえますか?

サンプルコード:

"SELECT id FROM folk WHERE time = ???"

前もって感謝します!

4

5 に答える 5

20

私はあなたがこれを探していると思います:

"SELECT id FROM folk WHERE DATE(time) = CURDATE()"

時間は、行への参照を保持するテーブル内のフィールドである必要があります。

アップデート

昨日の追加を取得するには:

"SELECT id FROM folk WHERE DATE(time) = CURDATE() - 1"

アップデート2

今月すべての追加を取得するには:

"SELECT id FROM folk 
WHERE MONTH(time) = MONTH(NOW()) AND YEAR(time) = YEAR(NOW())"

参照:http ://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html

于 2012-09-23T11:23:04.487 に答える
4
SELECT id FROM folk WHERE DATE(time) = DATE(NOW());

SELECT id FROM folk WHERE DATE(time) = DATE(DATE_SUB(NOW(), INTERVAL 1 DAY));

'time'が適切な日時タイプである場合

于 2012-09-23T11:25:03.210 に答える
2

このようなものを試してください>>

SELECT id from folk  WHERE DAY( date ) = EXTRACT(DAY from (NOW() - inTERVAL 
1 DAY ) ) 

このリンクを参照してください http://www.webmasterworld.com/forum112/278.htm

于 2012-09-23T11:31:01.187 に答える
1

タイムスタンプを使用している場合:

"SELECT id FROM folk WHERE time >= ".mktime(0, 0, 0)

これにより、今日からすべてのデータが選択されます。

今日以外のすべての日付を取得したい場合は、

"SELECT id FROM folk WHERE time < ".mktime(0, 0, 0)

昨日のデータを選択するには、次のようにします。

"SELECT id FROM folk WHERE time < ".mktime(0, 0, 0)." AND time >= ".mktime(0, 0, 0, date('m'), date('d')-1, date('Y'))

参考までにDATETIMEを使用する場合は、次のようになります。

"SELECT id FROM folk WHERE time >= '".date('Y-m-d').' 00:00:00."'"
于 2012-09-23T11:23:39.853 に答える
0

次のクエリのようなものを使用して現在の日付を取得します

SELECT * 
 FROM your_table_name 
WHERE DAY('.$colum_name.') = DAY("2018-05-02")';
于 2018-05-02T06:09:26.220 に答える