テーブルから結果を取得する必要があります。この日付は、現在の日付と5の差にする必要があります。Mysql Datediffクエリ
ie。specific_date
カラムがテーブルにあります。日付の形式はYYYY-MM-DD
です。
私は、クエリのようなものを必要とし、
SELECT * FROM `table_name` WHERE DATEDIFF(NOW(), specific_date) < 5
テーブルから結果を取得する必要があります。この日付は、現在の日付と5の差にする必要があります。Mysql Datediffクエリ
ie。specific_date
カラムがテーブルにあります。日付の形式はYYYY-MM-DD
です。
私は、クエリのようなものを必要とし、
SELECT * FROM `table_name` WHERE DATEDIFF(NOW(), specific_date) < 5
を使用することです:すべての
WHERE specific_date < (NOW() + 5 days)
まず、境界例について慎重に検討。これらのバウンダリ・ケースは、あなたの足首をSQLで噛むことができます。あなたが実際に
WHERE specific_date <= (NOW() + 5 days)
あなたspecific_date
列のタイムスタンプが唯一の日(つまり、深夜に等しい回数と日数である)を含んでいたり、彼らは日付と時刻が含まれているんですたいですか?あなたが望む結果を得るには、それらの細部に注意する必要があります。これは、このような検索を行うには良い方法です
WHERE specific_date <= DATE_ADD(NOW(), INTERVAL 5 DAY)
:任意のレートで
、これを試してみてください。カラム値は、不等式述語(<=
)の片側に立つので、カラムにインデックスがある場合、mySQLはインデックス範囲スキャンを実行できます。
MySQLでの日付演算は非常に柔軟です。できます
NOW() + INTERVAL 10 SECOND
NOW() - INTERVAL 2 MINUTE
NOW() + INTERVAL 4 HOUR
CURDATE() - INTERVAL 1 WEEK /* midnight one week ago */
LAST_DAY(NOW()) + INTERVAL 1 DAY - INTERVAL 1 MONTH /*first day of present month*/
NOW() - INTERVAL 1 QUARTER
CURDATE() - INTERVAL 5 YEAR
などがあります。
ありがとうございました。 – sathish
これは数時間でも機能しますか? 'WHERE specific_date <= DATE_ADD(NOW()、INTERVAL 24 HOUR)' –
はい、私の編集を参照してください。 –