ホームページ >データベース >mysql チュートリアル >MySQL の「BETWEEN」句の日付範囲クエリが結果を返さないのはなぜですか?
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 サイトの他の関連記事を参照してください。