7.28.1 ラベル付き間隔の指定形式および規則
ラベル付き間隔は,日時演算をする場合に使用し,数値とそれに続く間隔キーワード(YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,MILLISECOND,MICROSECOND,NANOSECOND,PICOSECOND)で特定の時間間隔を表します。ラベル付き間隔は,日時データに対する加減算の第2演算項,およびウィンドウ枠句に指定できます。
- 〈この項の構成〉
(1) 指定形式
ラベル付き間隔::=値式一次子 ラベル付き間隔修飾子 ラベル付き間隔修飾子::={YEAR〔S〕|MONTH〔S〕|DAY〔S〕 |HOUR〔S〕|MINUTE〔S〕|SECOND〔S〕 |MILLISECOND〔S〕|MICROSECOND〔S〕 |NANOSECOND〔S〕|PICOSECOND〔S〕}
(2) 指定形式の説明
- 値式一次子:
-
値式一次子には,SMALLINT型,INTEGER型のデータを指定してください。値式一次子については,「7.20.1 値式の指定形式および規則」の「(1) 指定形式」を参照してください。
- ラベル付き間隔修飾子:
-
ラベル付き間隔修飾子::={YEAR〔S〕|MONTH〔S〕|DAY〔S〕 |HOUR〔S〕|MINUTE〔S〕|SECOND〔S〕 |MILLISECOND〔S〕|MICROSECOND〔S〕 |NANOSECOND〔S〕|PICOSECOND〔S〕}
次のどれかを指定します。
- YEAR〔S〕:
-
年単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-9,998〜9,998になります。※
- MONTH〔S〕:
-
月単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-119,987〜119,987になります。※
- DAY〔S〕:
-
日単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-3,652,058〜3,652,058になります。※
- HOUR〔S〕:
-
時単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-87,649,415〜87,649,415になります。※
- MINUTE〔S〕:
-
分単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-5,258,964,959〜5,258,964,959になります。※
- SECOND〔S〕:
-
秒単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-315,537,897,599〜315,537,897,599になります。※
- MILLISECOND〔S〕:
-
ミリ秒単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-315,537,897,599,999〜315,537,897,599,999になります。※
- MICROSECOND〔S〕:
-
マイクロ秒単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-315,537,897,599,999,999〜315,537,897,599,999,999になります。※
- NANOSECOND〔S〕:
-
ナノ秒単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-9,223,372,036,854,775,807〜9,223,372,036,854,775,807になります。※
- PICOSECOND〔S〕:
-
ピコ秒単位の間隔を表します。
値式一次子に指定できる数データの値の範囲は,-9,223,372,036,854,775,807〜9,223,372,036,854,775,807になります。※
- 注※
-
日時演算でラベル付き間隔に乗算を指定した場合は,値式一次子の積の値の範囲になります。例えば,"C1" DAYS *"C2"と指定した場合,(C1*C2)で指定できる範囲が,-3,652,058〜3,652,058になります。
日時演算でラベル付き間隔に乗除算を指定した場合の規則については,「7.27.1 日時演算の指定形式および規則」の「(4) 規則」の「(e) ラベル付き間隔に乗除算を指定した場合の規則」を参照してください。
(3) 規則
-
日時演算を行うデータ型によって,指定できるラベル付き間隔修飾子が次の表に示すように異なります。
表7‒41 指定できるラベル付き間隔修飾子 ラベル付き間隔修飾子
日時演算を行うデータ型
DATE
TIME
TIMESTAMP
YEAR
○
×
○
MONTH
○
×
○
DAY
○
×
○
HOUR
×
○
○
MINUTE
×
○
○
SECOND
×
○
○
MILLISECOND
×
○
○
MICROSECOND
×
○
○
NANOSECOND
×
○
○
PICOSECOND
×
○
○
- (凡例)
-
○:指定できます。
×:指定できません。
-
値式一次子に?パラメタを単独で指定した場合,?パラメタのデータ型にはINTEGERが仮定されます。
-
ラベル付き間隔の結果の値は,非ナル値制約なし(ナル値を許す)となります。
-
値式一次子の結果がナル値の場合,ラベル付き間隔の結果はナル値になります。
-
YEARS,MONTHS,DAYS,HOURS,MINUTES,SECONDS,MILLISECONDS,MICROSECONDS,NANOSECONDS,PICOSECONDSの末尾のSの指定は省略できます。指定例を次に示します。
- (例)1年を指定する場合
-
1 YEARまたは1 YEARS
-
ウィンドウ関数のウィンドウ枠値指定に指定するラベル付き間隔は,値式一次子に値指定だけが指定できます。
-
ラベル付き間隔修飾子を指定した場合に仮定される小数秒精度を次の表に示します。
表7‒42 仮定される小数秒精度 指定したラベル付き間隔修飾子
仮定される小数秒精度
MILLISECOND
3
MICROSECOND
6
NANOSECOND
9
PICOSECOND
12