EQLには、time、dateTimeおよびdurationのデータ型の作業を行うための関数があります。
EQLでは、これらのデータ型間での通常の算術演算がサポートされます。
どの集計関数もこれらの型に適用できますが、SUMを除きます。この関数は、time型やdateTime型には適用できません。
| 関数 | 戻り値のデータ型 | 目的 |
|---|---|---|
| CURRENT_TIMESTAMP
SYSTIMESTAMP |
dateTime
dateTime |
現在の日時(問合せ評価中の任意の時点)を表す定数。前者はGMTで、後者はサーバーのタイムゾーンで表します。 |
| CURRENT_DATE
SYSDATE |
dateTime
dateTime |
現在の日付(問合せ評価中の任意の時点)を表す定数。前者はGMTで、後者はサーバーのタイムゾーンで表します。 |
| TO_TIME
TO_DATETIME TO_DURATION |
time
dateTime duration |
時刻、日付、または期間を表すタイムスタンプを、式を使用して組み立てます。 |
| EXTRACT | integer | dateTime値の一部分(曜日や月など)を抽出します。 |
| TRUNC | dateTime | dateTime値を、より粗い単位に丸めます。 |
| TO_TZ
FROM_TZ |
dateTime
dateTime |
指定されたタイムスタンプを別のタイムゾーンで表したものを返します。 |
2つの関数CURRENT_TIMESTAMPおよびSYSTIMESTAMPは事実上キャッシュされないため、これらの関数を使用するとパフォーマンスに影響を与えます。表に示した他の関数はキャッシュされます。
| 演算 | 戻り値のデータ型 |
|---|---|
| time (+|-) duration | time |
| dateTime (+|-) duration | dateTime |
| time - time | duration |
| dateTime - dateTime | duration |
| duration (+|-) duration | duration |
| duration (*|/) double | duration |
| duration /duration | double |