ホームページ >データベース >mysql チュートリアル >特定の日付範囲内の MySQL データを正しく取得するにはどうすればよいですか?

特定の日付範囲内の MySQL データを正しく取得するにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-11-20 16:22:16263ブラウズ

How to Correctly Retrieve MySQL Data Within a Specific Date Range?

MySQL で 2 つの日付間のデータを取得する

MySQL で日時値を扱う場合、短い日付形式の午前 0 時のデフォルトを考慮することが重要です。これにより、日付範囲内のデータをクエリするときに予期しない結果が生じる可能性があります。

たとえば、created_at 列が '2011-12-01' から '2011-12-06 の間にあるレコードを選択したい場合、 ' 次のクエリを使用すると、

SELECT `users`.*
FROM `users`
WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-06'

は望ましい結果を返さない可能性があります。これは、短い日付形式が時刻を暗黙的に午前 0 時として解釈するためです。

この問題を修正するには、'2011-12-07' を上限として使用するようにクエリを調整します。

SELECT `users`.*
FROM `users`
WHERE created_at >= '2011-12-01' AND created_at <= '2011-12-07'

あるいは、MySQL の date_add() 関数または BETWEEN 演算子を使用して同じことを実現できます。 result:

SELECT `users`.*
FROM `users`
WHERE created_at >= '2011-12-01' AND created_at <= date_add('2011-12-01', INTERVAL 7 DAY)
SELECT `users`.*
FROM `users`
WHERE created_at BETWEEN '2011-12-01', date_add('2011-12-01', INTERVAL 7 DAY)

短い日付形式のデフォルトの深夜解釈を考慮することで、MySQL で指定された日付範囲内のデータを正確に取得できます。

以上が特定の日付範囲内の MySQL データを正しく取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。