ホームページ >データベース >mysql チュートリアル >MySQL の「BETWEEN」句の日付範囲クエリが結果を返さないのはなぜですか?

MySQL の「BETWEEN」句の日付範囲クエリが結果を返さないのはなぜですか?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-21 18:18:09682ブラウズ

Why is my MySQL `BETWEEN` clause date range query returning no results?

MySQL の日付範囲クエリの問題を解決する

この記事では、MySQL を使用して指定された日付範囲をクエリするときに発生する一般的な問題について説明します。次のクエリ ステートメント:

<code class="language-sql">SELECT * FROM `objects` 
WHERE (date_field BETWEEN '2010-01-30 14:15:55' AND '2010-09-29 10:15:55')</code>

条件を満たすデータがデータベースにありますが、ステートメントは結果を返すことができません。

問題は、BETWEEN 句内の日付の順序です。 2 番目の日付 ('2010-01-30 14:15:55') は最初の日付 ('2010-09-29 10:15:55') よりも前であるため、実際にはデータが存在しない日付範囲が生成されます。 。これを修正するには、日付の順序を逆にするだけです:

<code class="language-sql">SELECT *
FROM `objects`
WHERE (date_field BETWEEN '2010-09-29 10:15:55' AND '2010-01-30 14:15:55')</code>

このように、クエリは 2010 年 9 月 29 日から 2010 年 1 月 30 日までの date_field 値を持つオブジェクトを検索し、期待どおりの結果が得られます。

詳細については、MySQL の公式ドキュメントを参照してください: https://www.php.cn/link/4c74dcfeac90df69aed5c8a90125e696

以上がMySQL の「BETWEEN」句の日付範囲クエリが結果を返さないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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