日付と時刻の関数

EQLには、timedateTimeおよびdurationのデータ型の作業を行うための関数があります。

EQLでは、これらのデータ型間での通常の算術演算がサポートされます。

どの集計関数もこれらの型に適用できますが、SUMを除きます。この関数は、time型やdateTime型には適用できません。

注意: どの場合でも、日付と時刻の内部表現は、タイムゾーンを持たない抽象的なタイム・ラインでのものです。このタイム・ライン上では、1日は必ず86400秒であると見なされます。システムはうるう秒を認識せず、対応もしません。これは、SQLのdate、timeおよびtimestampデータ型でWITHOUT TIMEZONEを指定したのと等価です。ISO 8601(『Data elements and interchange formats - Information interchange - Representation of dates and times』)では、タイムゾーンなしで日付と時刻を他のシステムに伝達するときは、グリニッジ標準時(GMT)で表現することが勧告されています。Dgraphは、この勧告に従っています。
次の表は、サポートされる日付と時刻の関数をまとめたものです。
この表に、EQLの日付と時刻の関数をリストします。
関数 戻り値のデータ型 目的
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

指定されたタイムスタンプを別のタイムゾーンで表したものを返します。

CURRENT_DATECURRENT_TIMESTAMPSYSDATEまたはSYSTIMESTAMPの各関数はキャッシュされないため、これらの関数を使用するとパフォーマンスに影響を与えます。表に示した他の関数はキャッシュされます。

次の表は、サポートされる演算をまとめたものです。
この表に、サポートされる日付と時刻のEQL演算をリストします。
演算 戻り値のデータ型
time (+|-) duration time
dateTime (+|-) duration dateTime
time - time duration
dateTime - dateTime duration
duration (+|-) duration duration
duration (*|/) double duration
duration /duration double