ホームページ >データベース >mysql チュートリアル >MySQL 選択クエリを使用して日付範囲を取得する方法?

MySQL 選択クエリを使用して日付範囲を取得する方法?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-19 01:11:08528ブラウズ

How to Retrieve a Date Range Using a MySQL Select Query?

MySQL SELECT ステートメントを使用して日付範囲を取得します

多くのアプリケーションでは、指定された範囲内の日付のリストを取得する機能が必要です。 MySQL では、これを実現する方法がいくつかありますが、その 1 つは SELECT ステートメントを使用することです。

たとえば、2012 年 2 月 10 日から 2012 年 2 月 15 日までのすべての日付をリストする必要があります。これを行うには、次のクエリを使用できます:

<code class="language-sql">SELECT * FROM
(SELECT ADDDATE('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) selected_date FROM
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t0,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t1,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t2,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t3,
 (SELECT 0 i UNION SELECT 1 UNION SELECT 2 UNION SELECT 3 UNION SELECT 4 UNION SELECT 5 UNION SELECT 6 UNION SELECT 7 UNION SELECT 8 UNION SELECT 9) t4) v
WHERE selected_date BETWEEN '2012-02-10' AND '2012-02-15'</code>

このクエリは、ネストされた SELECT ステートメントを使用して、「1970-01-01」から現在の日付までの日付範囲を生成します。次に、生成される日付を指定された範囲に制限します。

このアプローチの利点は、実装が比較的簡単で、300 年近く先までの日付範囲を処理できることです。

以上がMySQL 選択クエリを使用して日付範囲を取得する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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