ホームページ >データベース >mysql チュートリアル >MySQL で日付演算とサブクエリを使用して日付範囲を生成する方法
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 サイトの他の関連記事を参照してください。