日付および時間関数
日時関数を使用すると、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
関数は、指定された timestamp 関数を固定期間とブール値として比較します。
形式
この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)
、century
、centuries
、millennium
、millennia
。{DIRECTION}
before
、after
、from
。{TIME}
today
、now
、yesterday
、tomorrow
)、相対時間単位(this
、last
または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 関数について詳しくは、「プロファイルクエリ言語の概要」を参照してください。