これを行うにはたくさんの方法があり、いくつかの微妙な点があるため、さまざまな答えがありました。
最も簡単なのは、受け取った値が将来ではない場合、次のようなことをすることです...
WHERE received > DATE_SUB( CURDATE(), INTERVAL 14 DAY )
また
WHERE DATEDIFF( CURDATE(), received ) < 14
受け取った値が将来のものである可能性があり、14 日前から今日までのスライスが必要な場合は、それほど複雑ではありません。
WHERE received BETWEEN DATE_SUB( CURDATE(), INTERVAL 14 DAY ) AND CURDATE()
または再び、
WHERE DATEDIFF( CURDATE(), received ) BETWEEN 0 AND 14
これに加えて考慮すべきことの 1 つは、日付フィールドまたは日時フィールドを受け取るかどうかです。CURDATE() は、日時と比較すると常に今日の午前 0 時であるため、これらの BETWEEN クエリでは、実際には今日の途中の日時が省略される場合があります。 CURDATE の日時値。それが問題になる場合は、代わりに NOW() を使用してください。