Interval データ型
間隔は、2 つの日付と時刻の差として定義されます。 間隔は、2 つの異なる方法のいずれかで表されます。 1 つは 、年と 月の整数で間隔を表す年月間隔です。 もう 1 つは 、日、 分、秒の観点から間隔を表す日間隔です。 月にはさまざまな日数が含まれる可能性があるため、これら 2 種類の間隔は異なり、混在することはできません。
間隔は、一連のフィールドで構成されます。 フィールド間には暗黙的な順序があります。 たとえば、年から月の間隔では、年が最初に、その後に月が続きます。 同様に、日から分の間隔では、フィールドは日、時間、分の順序になります。 間隔型の最初のフィールドは、 先頭 フィールドまたは 高次 フィールドと呼ばれます。 最後のフィールドは 末尾 のフィールドと呼ばれます。
すべての間隔で、先頭のフィールドはグレゴリオ暦のルールによって制限されません。 たとえば、時間から分の間隔では、通常のように、時間フィールドは 0 から 23 (両端を含む) の間に制限されません。 先頭フィールドの後の末尾のフィールドは、グレゴリオ暦の通常の制約に従います。 詳細については、この付録 で後述する「グレゴリオ暦の制約」を参照してください。
13 個の間隔 SQL データ型と 13 個の間隔 C データ型があります。 各間隔 C データ型は、間隔データを格納するために同じ構造体SQL_INTERVAL_STRUCT使用します。 (詳細については、次のセクション「 C 間隔の構造」を参照してください)。SQL データ型の詳細については、「SQL データ 型」を参照してください。C データ型の詳細については、「 C データ型」を参照してください。
種類識別子 | クラス | 説明 |
---|---|---|
MONTH | Year-Month | 2 つの日付間の月数。 |
YEAR | Year-Month | 2 つの日付の間の年数。 |
YEAR_TO_MONTH | Year-Month | 2 つの日付の間の年と月の数。 |
DAY | Day-Time | 2 つの日付の間の日数。 |
HOUR | Day-Time | 2 つの日付/時刻間の時間数。 |
MINUTE | Day-Time | 2 つの日付/時刻の間の分数。 |
SECOND | Day-Time | 2 つの日付/時刻の間の秒数。 |
DAY_TO_HOUR | Day-Time | 2 つの日付/時刻間の日数/時間数。 |
DAY_TO_MINUTE | Day-Time | 2 つの日付/時刻間の日数/時間/分数。 |
DAY_TO_SECOND | Day-Time | 2 つの日付/時刻間の日数/時間/分/秒。 |
HOUR_TO_MINUTE | Day-Time | 2 つの日付/時刻間の時間/分数。 |
HOUR_TO_SECOND | Day-Time | 2 つの日付/時刻の間の時間/分/秒の数。 |
MINUTE_TO_SECOND | Day-Time | 2 つの日付/時刻間の分/秒の数。 |
このセクションでは、次のトピックを扱います。