ホームページ >データベース >mysql チュートリアル >MySQL で指定された 2 つの日付の間の日付のリストを生成するにはどうすればよいですか?

MySQL で指定された 2 つの日付の間の日付のリストを生成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-22 04:41:08434ブラウズ

How Can I Generate a List of Dates in MySQL Between Two Given Dates?

MySQL で 2 つの日付の間の日付のリストを生成します

MySQL は、指定された日付範囲内の日付シーケンスを効率的に生成して、範囲内のすべての日付を取得できる強力な関数を提供します。

MySQL ストアド プロシージャ

ストアド プロシージャを使用して、目的の日付シーケンスを含む time_intervals という名前の一時テーブルを作成できます:

<code class="language-sql">CREATE PROCEDURE make_intervals(startdate timestamp, enddate timestamp, intval integer, unitval varchar(10))
BEGIN
  -- ... (存储过程代码,与上面答案中提供的代码相同)
END;</code>

使用例

「2009-01-01」から「2009-01-13」までの各日の日付のリストを生成するには、次のコマンドを使用できます:

<code class="language-sql">CALL make_intervals('2009-01-01', '2009-01-13', 1, 'DAY');

SELECT * FROM time_intervals;</code>

出力結果

<code>interval_start      interval_end        
------------------- ------------------- 
2009-01-01 00:00:00 2009-01-01 23:59:59 
2009-01-02 00:00:00 2009-01-02 23:59:59 
2009-01-03 00:00:00 2009-01-03 23:59:59 
2009-01-04 00:00:00 2009-01-04 23:59:59 
2009-01-05 00:00:00 2009-01-05 23:59:59 
2009-01-06 00:00:00 2009-01-06 23:59:59 
2009-01-07 00:00:00 2009-01-07 23:59:59 
2009-01-08 00:00:00 2009-01-08 23:59:59 
2009-01-09 00:00:00 2009-01-09 23:59:59 
2009-01-10 00:00:00 2009-01-10 23:59:59 
2009-01-11 00:00:00 2009-01-11 23:59:59 
2009-01-12 00:00:00 2009-01-12 23:59:59 
2009-01-13 00:00:00 2009-01-13 23:59:59</code>

以上がMySQL で指定された 2 つの日付の間の日付のリストを生成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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