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

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

Patricia Arquette
リリース: 2024-11-20 16:22:16
オリジナル
261 人が閲覧しました

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 サイトの他の関連記事を参照してください。

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