私のSQLクエリでは、過去24時間のレコードをどのように見つけ出すのですか? 例:過去24時間の日付フィールドを持つレコードを検索する
SELECT * FROM news WHERE date < 24 hours
私は通常)(日付に変数を設定することによって、それを行う - 1日及びそれと比較することが、私は、SQLクエリ方法が速かったかどうかだろうか?
私のSQLクエリでは、過去24時間のレコードをどのように見つけ出すのですか? 例:過去24時間の日付フィールドを持つレコードを検索する
SELECT * FROM news WHERE date < 24 hours
私は通常)(日付に変数を設定することによって、それを行う - 1日及びそれと比較することが、私は、SQLクエリ方法が速かったかどうかだろうか?
SELECT * FROM news WHERE date < DATEADD(Day, -1, date)
あなたは '>' NOT '<'が必要です –
SELECT * FROM news WHERE date > DATEADD(d,-1,GETDATE())
SQL ServerではなくMySQLを使用していると思います。それでも、答えは他の誰かを助けるかもしれません:) – Simon
ええ、その助けを私は仲間:) –
SELECT * FROM news WHERE date > DATE_SUB(NOW(), INTERVAL 24 HOUR)
これを行うことは可能ですか?WhereDate> Now()-1? –
@Andrew:24時間ではなく、24時間だと思う。 –
@Ypercube - yup、修正済みです。 – Andrew
あなたは、単に現在の時刻マイナス1日より高い日付を選択します。
SELECT * FROM news WHERE date >= now() - INTERVAL 1 DAY;
これを行う方法はたくさんあります。記載されているものは素晴らしい仕事が、あなたは日時フィールドがあれば、ここでもう一つの方法です:
SELECT [fields]
FROM [table]
WHERE timediff(now(), my_datetime_field) < '24:00:00'
timediff()
は、時間オブジェクトを返しますが、その86400と比較することでミスをしないでください(1日の秒数) 、またはあなたの出力はすべての種類の間違ったものになります。
チェック:使用しているデータベース
SELECT * from [table_name] WHERE date > (NOW() - INTERVAL 24 HOUR).
SELECT * from new WHERE date < DATE_ADD(now(),interval -1 day);
? –
MySQL。更新された:D – user1022585