ホームページ > データベース > mysql チュートリアル > SQL で日付範囲を生成するにはどうすればよいですか?

SQL で日付範囲を生成するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-06 16:53:45
オリジナル
190 人が閲覧しました

How Can I Generate a Date Range in SQL?

SQL を使用した日付範囲の生成

SQL クエリを構築する場合、多くの場合、日付範囲を操作する必要があります。このニーズに応えるために、SQL には日付のシーケンスを生成する機能が含まれています。クエリの実行に役立つ日付の範囲を生成する方法を見てみましょう。

一連の日の生成

一般的なシナリオの 1 つは、昨年を表す一連の日付を生成することです。純粋な SQL を使用してこれを実現するには、次のようなクエリを使用できます。

SELECT TRUNC(SYSDATE - ROWNUM) dt
FROM DUAL CONNECT BY ROWNUM < 366
ログイン後にコピー

このクエリは、Oracle の DUAL テーブル、つまり 1 行 1 列のテーブルを利用します。これは、順序。 CONNECT BY 句を使用すると、再帰的なクエリの実行が可能になり、SYSDATE (現在のシステム日付) を減分することで一連の日数が作成されます。 ROWNUM 疑似列は反復回数を提供し、< を指定します。 366 は、365 日の範囲を生成します (さらに、閏年を考慮して追加の 1 日を追加します)。

または、完全な日付の代わりに日のオフセットを生成し、日付パラメータに適用することもできます:

SELECT SYSDATE - val FROM (SELECT 0 + LEVEL - 1 val FROM DUAL CONNECT BY LEVEL < 366)
ログイン後にコピー

このクエリは、LEVEL 疑似列を使用して一連の日オフセットを生成します。これを SYSDATE と組み合わせて、範囲を生成できます。

互換性と効率性を確保するために、これらのソリューションを実装するときは、データベース固有の構文と機能を必ず考慮してください。

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

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