EQLには、time、dateTimeおよびdurationのデータ型を使用するための関数が用意されています。
EQLでは、これらのデータ型間の通常の算術演算がサポートされます。
すべての集計関数をこれらのタイプに適用できますが、timeまたはdateTimeタイプには適用できないSUMを除きます。
注意:
すべての場合において、日時の内部表現は、タイム・ゾーンのない抽象タイムライン上にあります。 この時系列では、すべての日が86400秒であるとみなされます。 システムは、秒の経過とともに追跡も対応もできません。 これは、WITHOUT TIMEZONEを指定するSQL日付、時間およびタイムスタンプのデータ型と同じです。 ISO 8601 (データ要素と交換フォーマット) - 情報交換 - 日付と時間を表現する際には、他のシステムにタイムゾーンを指定せずに日時を通信する場合、それらはGMTのシノニムであるzulu時間を使用して表されることをお薦めします。 Dgraphはこの推奨事項に準拠します。
| 機能 | 戻りデータ型 | 用途 |
|---|---|---|
CURRENT_TIMESTAMP
|
dateTime
|
GMTおよびサーバーのタイム・ゾーンで(問合せ評価時の任意の時点の)現在の日付と時間を表す定数。 |
CURRENT_DATE
|
dateTime
|
GMTおよびサーバー・タイム・ゾーンの(問合せ評価時の任意の時点の)現在の日付を表す定数。 |
TO_TIME
|
time
|
式を使用して、時間、日付または期間を表すタイムスタンプを構築します。 |
EXTRACT
|
integer
|
dateTime値の一部(曜日や年の月など)を抽出します。
|
TRUNC
|
dateTime
|
dateTime値を粗い粒度に切り捨てます。
|
TO_TZ
|
dateTime
|
指定されたタイムスタンプを別のタイムゾーンで返します。 |
CURRENT_DATE、CURRENT_TIMESTAMP、SYSDATEまたはSYSTIMESTAMPを使用すると、パフォーマンスが影響を受けることに注意してください。これらの機能はキャッシュされないためです。 表の他の関数はキャッシュされます。
| 操作 | 戻りデータ型 |
|---|---|
time (+|-) duration
|
time
|
dateTime (+|-) duration
|
dateTime
|
time - time
|
duration
|
dateTime - dateTime
|
duration
|
duration (+|-) duration
|
duration
|
duration (*|/) double
|
duration
|
duration /duration
|
double
|