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

MySQL で日付演算とサブクエリを使用して日付範囲を生成する方法

DDD
リリース: 2025-01-19 01:07:08
オリジナル
165 人が閲覧しました

How to Generate Date Ranges in MySQL Using Date Arithmetic and Subqueries?

MySQL の日付操作とサブクエリを使用して日付範囲を生成する

SQL では、日付操作とサブクエリを組み合わせて使用​​することで、指定された範囲内の日付のリストを取得できます。これを実現する方法は次のとおりです:

2 つの日付の間の日付のリストを生成するには、サブクエリ メソッドを使用できます。ネストされたサブクエリのセット。それぞれが一連の数値 (0 から 9) を生成し、加算によって結合されて目的の日付値を形成します。

次のクエリは、この手法を示しています:

<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>
ログイン後にコピー

このクエリは、'2012-02-10' から '2012-02-15' (両端を含む) までの日付のリストを生成します。結果は次のとおりです:

<code>date
----------
2012-02-10
2012-02-11
2012-02-12
2012-02-13
2012-02-14
2012-02-15</code>
ログイン後にコピー

このメソッドを使用すると、将来または過去のほぼ 300 年にわたる日付範囲を生成できます。

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

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