ホームページ > データベース > mysql チュートリアル > 今日を含む過去 30 日間の MySQL レコードを取得するにはどうすればよいですか?

今日を含む過去 30 日間の MySQL レコードを取得するにはどうすればよいですか?

DDD
リリース: 2024-12-05 17:17:14
オリジナル
744 人が閲覧しました

How to Retrieve MySQL Records from the Last 30 Days, Including Today?

MySQL を使用して今日から過去 30 日間のデータベース レコードを選択する方法

この質問は、過去 30 日以内に追加されたレコードを取得することを目的としています。表示には日付変換が必要です。提供されたクエリは WHERE 句内で DATE_FORMAT を使用しようとしますが、意図したとおりに選択を制限しません。

解決策

正しい解決策には、DATE_FORMAT を WHERE 句内で適用することが含まれます。 SELECT 句:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN CURDATE() - INTERVAL 30 DAY AND CURDATE()
ログイン後にコピー

理由訂正

MySQL の DATE_FORMAT 関数は日付を特定の形式に変換しますが、基になる日付値は変更しません。したがって、対象の日付範囲を指定する WHERE 句の後に適用する必要があります。

追加の考慮事項

create_date が DATETIME として保存され、非ゼロ時間コンポーネントでは、WHERE 句で CURDATE() を使用しても、今日のレコードは選択されません。これを考慮するには、代わりに NOW() を使用してください:

SELECT DATE_FORMAT(create_date, '%m/%d/%Y')
FROM mytable
WHERE create_date BETWEEN NOW() - INTERVAL 30 DAY AND NOW()
ログイン後にコピー

以上が今日を含む過去 30 日間の MySQL レコードを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート