日期和时间函数用于对Profile Query Language (PQL)中的值执行日期和时间操作。 有关其他PQL函数的详细信息,请参阅Profile Query Language overview。
currentMonth
函数将当前月份返回为整数。
格式
currentMonth()
示例
以下PQL查询检查人员的出生月是否为当月。
person.birthMonth = currentMonth()
getMonth
函数根据给定的时间戳以整数形式返回月份。
格式
{TIMESTAMP}.getMonth()
示例
以下PQL查询检查人员的出生月是否在6月。
person.birthdate.getMonth() = 6
currentYear
函数将当前年份作为整数返回。
格式
currentYear()
示例
以下PQL查询会检查产品是否在当年销售。
product.saleYear = currentYear()
getYear
函数根据给定的时间戳以整数形式返回年份。
格式
{TIMESTAMP}.getYear()
示例
以下PQL查询检查该人的出生年度是否在1991、1992、1993、1994或1995年。
person.birthday.getYear() in [1991, 1992, 1993, 1994, 1995]
currentDayOfMonth
函数以整数形式返回当月的当天。
格式
currentDayOfMonth()
示例
以下PQL查询检查人员的出生日是否与当月的当天匹配。
person.birthDay = currentDayOfMonth()
getDayOfMonth
函数根据给定的时间戳以整数形式返回该日。
格式
{TIMESTAMP}.getDayOfMonth()
示例
以下PQL查询将检查该物料是否在当月的前15天内销售。
product.sale.getDayOfMonth() <= 15
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) 、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
是表示PQL执行的时间戳的保留字。
示例
以下PQL查询会检查物料是否在三小时前售出。
product.saleDate occurs = 3 hours before now
today
是一个保留字,表示PQL执行当日开始的时间戳。
示例
以下PQL查询会检查某人的生日是否在三天前。
person.birthday occurs = 3 days before today
现在,您已经了解了日期和时间功能,可以在PQL查询中使用它们。 有关其他PQL函数的详细信息,请阅读用户档案查询语言概述。