ホームページ > データベース > mysql チュートリアル > MySQL で SELECT クエリを使用して日付範囲を生成する方法

MySQL で SELECT クエリを使用して日付範囲を生成する方法

Susan Sarandon
リリース: 2025-01-19 01:26:08
オリジナル
659 人が閲覧しました

How to Generate a Date Range in MySQL Using a SELECT Query?

MySQL SELECT クエリを使用して日付範囲を生成します

多くのアプリケーションは、指定された日付範囲内の一連の日付を取得する必要があります。 MySQL SELECT クエリはこれを実現します。

クエリの構築

指定された 2 つの日付の間の日付のリストを生成するには、次のクエリを使用できます:

SELECT * FROM
(SELECT ADDDATE('1970-01-01', t4.i * 10000 + t3.i * 1000 + t2.i * 100 + t1.i * 10 + t0.i) AS 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';
ログイン後にコピー

このクエリは、「2012-02-10」から「2012-02-15」までの日付範囲を生成し、各日付は結果セット内の単一行として表示されます。

説明

メインクエリ内のネストされた SELECT ステートメントは、日付のリストを作成するために使用されます。各 SELECT ステートメントは、0 から 9 までの 1 桁の数字のシーケンスを生成します。これらのシーケンスは、「 」演算子を使用して結合され、完全な日付文字列を形成します。 「ADDDATE」関数を使用して、これらの数値を「1970-01-01」に加算し、目的の日付範囲を生成します。

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

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