日付および時間関数

日付および時間関数 は、Profile Query Language (PQL)内の値に対して日付と時間の操作を実行するために使用されます。 他のPQL関数の詳細については、Profile Query Language 概要を参照してください。

Current month

このcurrentMonth関数は、現在の月を整数で返します。

形式

currentMonth()

次の PQL クエリは、その人の生まれた月が現在の月かどうかを確認します。

person.birthMonth = currentMonth()

Get month

このgetMonth関数は、指定されたタイムスタンプに基づいて月を整数で返します。

形式

{TIMESTAMP}.getMonth()

次の PQL クエリは、その人の生まれた月が 6 月かどうかを確認します。

person.birthdate.getMonth() = 6

Current year

このcurrentYear関数は、現在の年を整数で返します。

形式

currentYear()

次の PQL クエリは、製品が現在の年に販売されたかどうかを確認します。

product.saleYear = currentYear()

Get year

このgetYear関数は、指定されたタイムスタンプに基づいて、年を整数で返します。

形式

{TIMESTAMP}.getYear()

次の PQL クエリは、その人の生まれた年が 1991、1992 、1993 、1994 、または 1995 年に該当するかどうかを確認します。

person.birthday.getYear() in [1991, 1992, 1993, 1994, 1995]

Current day of month

このcurrentDayOfMonth関数は、現在の月の日を整数で返します。

形式

currentDayOfMonth()

次の PQL クエリは、その人の生まれた日がの現在の月の日と一致するかどうかを確認します。

person.birthDay = currentDayOfMonth()

Get day of month

このgetDayOfMonth関数は、指定されたタイムスタンプに基づいて、日を整数で返します。

形式

{TIMESTAMP}.getDayOfMonth()

次の PQL クエリは、その品目が月の最初の 15 日以内に販売されたかどうかを確認します。

product.sale.getDayOfMonth() <= 15

Occurs

このoccurs関数は、指定されたタイムスタンプ関数と一定期間を比較します。

形式

このoccurs関数は、次のいずれかの形式を使用して記述できます。

{TIMESTAMP} occurs {COMPARISON} {INTEGER} {TIME_UNIT} {DIRECTION} {TIME}
{TIMESTAMP} occurs {DIRECTION} {TIME}
{TIMESTAMP} occurs (on) {TIME}
{TIMESTAMP} occurs between {TIME} and {TIME}
引数 説明
{COMPARISON} 比較演算子。次のいずれかの演算子を使用できます。>>=<<==!=。比較関数の詳細については、「比較関数ドキュメント」を参照し てください。
{INTEGER} 負でない整数。
{TIME_UNIT} 時間の単位。次のいずれかの単語を指定できます。millisecond(s)second(s)minute(s)hour(s)day(s)week(s)month(s)year(s)decade(s)centurycenturiesmillenniummillennia
{DIRECTION} 日付を比較するタイミングを説明する前置詞。次のいずれかの単語を指定できます。beforeafterfrom
{TIME} タイムスタンプリテラル(todaynowyesterdaytomorrow)、相対時間単位(thislastまたはnextののいずれかに時間単位が続く)、またはタイムスタンプ属性を指定できます。
メモ

この単語の使用onはオプションです。timestamp occurs on date(2019,12,31)など、一部の組み合わせの読みやすさを向上させるために用意されています。

次の PQL クエリは、品目が先週販売されたかどうかを確認します。

product.saleDate occurs last week

次の PQL クエリは、品目が 2015 年 1 月 8 日から 2017 年 7 月 1 日の間に販売されたかどうかを確認します。

product.saleDate occurs between date(2015, 1, 8) and date(2017, 7, 1)

Now

nowは、PQL 実行のタイムスタンプを表す予約語です。

次の PQL クエリは、製品が 3 時間前に販売されたかどうかを確認します。

product.saleDate occurs = 3 hours before now

Today

todayは、PQL 実行日の開始を表す予約語です。

次の PQL クエリは、ある人の生まれた日が 3 日前かどうかを確認します。

person.birthday occurs = 3 days before today

次の手順

日付および時間関数について学習したので、PQL クエリ内で使用できます。その他の PQL 関数について詳しくは、「プロファイルクエリ言語の概要」を参照してください。

このページ