機能
日時値式は、日時値を指定します。
記述形式
参照項番
時間隔値式 → “2.11.4 時間隔値式”
数値関数 → “2.5.2 数値関数”
日時値関数 → “2.5.4 日時値関数”
値式一次子 → “2.11 値式”
一般規則
演算結果データ型を以下に示します。
パターン | 結果データ型 |
---|---|
時間隔値式 + 日時項 | 日時項に等しい |
日時値式 ± 時間隔項 | 日時値式に等しい |
日時演算を行う場合、時間隔項または時間隔値式は、日時項または日時値式内に含まれる日時フィールドのみを含むことが必要です。
日時演算に変数指定を使用する場合、CAST指定によって演算できる型にすることが必要です。
日時値式に含まれる任意の日時項、日時値式、時間隔値式がNULLの場合、日時値式の結果はNULLになります。
演算は、必要ならば各日時フィールドの桁送りを行います。
演算を行った結果、日時型の各日時フィールドに許される値を超えた場合は、日時フィールド溢れの例外事象になります。
月数の加算もしくは減算は、日時値式の月フィールドに対して行われます。演算結果が、暦上存在しない日付になった場合は、以下のように補正されます。
演算した結果が、その月に許される日数を超えた場合は、その月の最終日になります。
日時値式の各オペランドに動的パラメタ指定が指定された場合のDESCRIBE情報を以下に示します。
オペランド | DESCRIBE情報 | |
---|---|---|
時間隔値式 | 動的パラメタ指定に時間隔修飾子の指定あり | 時間隔型 |
動的パラメタ指定に時間隔修飾子の指定なし | INTERVAL YEAR(2) TO MONTH (注1) | |
時間隔項 | 動的パラメタ指定に時間隔修飾子の指定あり | 時間隔型 |
動的パラメタ指定に時間隔修飾子の指定なし | INTERVAL YEAR(2) TO MONTH (注1) |
注1) 時間隔項または時間隔値式がDATE型の場合
注2) 時間隔項または時間隔値式がTIME型の場合
注3) 時間隔項または時間隔値式がTIMESTAMP型の場合
備考.時間隔値式 + ? または ? ± 時間隔項 の場合は時間隔値式と仮定されます。
使用例
日時値式の演算1(C1がDATE'2007-10-17'の場合)
INTERVAL'15' DAY + C1 →結果はDATE'2007-11-01'になります。
日時値式の演算2(C1がTIME型の場合)
C1 + INTERVAL'25' HOUR →結果は桁溢れのため、エラーになります。
日別発注表にデータを1行追加します。処理時間には現在の時間を設定します。
INSERT INTO 在庫管理.日別発注表(取引先,取引製品,発注数量,処理時間) VALUES(61,:PRODNO,:ORDERQTY,CURRENT_TIME)