日期和時間函式用於對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) 、week(s) 、month(s) 、year(s) 、decade(s) 、century 、centuries 、millennium 、millennia 。day(s) |
{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函式的詳細資訊,請閱讀配置檔案查詢語言概述。