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
|