以下の例は、数値演算子を使用して日時値を操作するためにコード化できる ESQL を示しています。
DATE '2000-03-29' + INTERVAL '1' MONTH TIMESTAMP '1999-12-31 23:59:59' + INTERVAL '1' SECOND
以下の例は、退職年齢を生年月日に加算して、退職日付を算出する方法を示しています。
DECLARE retAge CHARACTER '65'; DECLARE birthDate DATE DATE '1953-06-01'; SET OutputRoot.XML.Test.retirementDate = birthDate + CAST(retAge AS INTERVAL YEAR);
上記の例で DATE という語は意図的に繰り返されています。 最初に出現する DATE は、宣言された変数 birthDate のデータ型を指定します。 2 番目の出現は、その同じ変数を引用符で囲まれた固定文字ストリングによって DATE として初期化します。
INTERVAL '1-06' YEAR TO MONTH + INTERVAL '20' DAY
結果として得られるインターバルのインターバル修飾子は、2 つのオペランドのインターバルにあるすべてのフィールドを包含することができます。以下に例を示します。
INTERVAL '2 01' DAY TO HOUR + INTERVAL '123:59' MINUTE TO SECOND
この例では、日と秒の両方のフィールドが、少なくとも 1 つのオペランド値にあるため、ここでの結果のインターバルの修飾子は DAY TO SECOND になります。
(CURRENT_DATE - DATE '1776-07-04') DAY
この例では、1776 年 7 月 4 日以来の日数が戻されます。 一方、次の例を見てみます。
(CURRENT_TIME - TIME '00:00:00') MINUTE TO SECOND
この例では経過日数を分と秒で戻します。
INTERVAL '2:30' MINUTE TO SECOND / 4