Funzioni data e ora
Le funzioni di data e ora vengono utilizzate per eseguire operazioni di data e ora sui valori compresi in Profile Query Language (PQL). Ulteriori informazioni sulle altre funzioni di PQL sono disponibili nella Profile Query Language panoramica.
Mese corrente
La funzione currentMonth
restituisce il mese corrente come numero intero.
Formato
currentMonth()
Esempio
La query PQL seguente verifica se il mese di nascita della persona è il mese corrente.
person.birthMonth = currentMonth()
Ottieni mese
La funzione getMonth
restituisce il mese come numero intero in base a una data marca temporale.
Formato
{TIMESTAMP}.getMonth()
Esempio
La query PQL seguente verifica se il mese di nascita della persona è giugno.
person.birthdate.getMonth() = 6
Anno corrente
La funzione currentYear
restituisce l'anno corrente come numero intero.
Formato
currentYear()
Esempio
La query PQL seguente verifica se il prodotto è stato venduto nell’anno corrente.
product.saleYear = currentYear()
Ottieni anno
La funzione getYear
restituisce l'anno, sotto forma di numero intero, in base a una data marca temporale.
Formato
{TIMESTAMP}.getYear()
Esempio
La seguente query di PQL verifica se l’anno di nascita della persona cade nel 1991, 1992, 1993, 1994 o 1995.
person.birthday.getYear() in [1991, 1992, 1993, 1994, 1995]
Giorno del mese corrente
La funzione currentDayOfMonth
restituisce il giorno corrente del mese come numero intero.
Formato
currentDayOfMonth()
Esempio
La query PQL seguente verifica se il giorno di nascita della persona corrisponde al giorno del mese corrente.
person.birthDay = currentDayOfMonth()
Ottieni giorno del mese
La funzione getDayOfMonth
restituisce il giorno come numero intero in base a una data marca temporale.
Formato
{TIMESTAMP}.getDayOfMonth()
Esempio
La query PQL seguente verifica se l'articolo è stato venduto nei primi 15 giorni del mese.
product.sale.getDayOfMonth() <= 15
Si verifica
La funzione occurs
confronta la funzione timestamp specificata con un periodo di tempo fisso come booleano.
Formato
La funzione occurs
può essere scritta utilizzando uno dei seguenti formati:
{TIMESTAMP} occurs {COMPARISON} {INTEGER} {TIME_UNIT} {DIRECTION} {TIME}
{TIMESTAMP} occurs {DIRECTION} {TIME}
{TIMESTAMP} occurs (on) {TIME}
{TIMESTAMP} occurs between {TIME} and {TIME}
{COMPARISON}
>
, >=
, <
, <=
, =
, !=
. Ulteriori informazioni sulle funzioni di confronto sono disponibili nel documento funzioni di confronto.{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
), un'unità di tempo relativa (una di this
, last
o next
seguita da un'unità di tempo) o un attributo di marca temporale.on
è facoltativo. È possibile migliorarne la leggibilità per alcune combinazioni, ad esempio timestamp occurs on date(2019,12,31)
.Esempio
La query PQL seguente verifica se l'articolo è stato venduto la settimana scorsa.
product.saleDate occurs last week
La seguente query di PQL verifica se un articolo è stato venduto tra l’8 gennaio 2015 e il 1 luglio 2017.
product.saleDate occurs between date(2015, 1, 8) and date(2017, 7, 1)
Ora
now
è una parola riservata che rappresenta la marca temporale dell'esecuzione di PQL.
Esempio
La query PQL seguente verifica se un articolo è stato venduto esattamente tre ore prima.
product.saleDate occurs = 3 hours before now
Oggi
today
è una parola riservata che rappresenta il timestamp dell'inizio del giorno dell'esecuzione di PQL.
Esempio
La seguente query PQL controlla se il compleanno di una persona è stato tre giorni fa.
person.birthday occurs = 3 days before today
Passaggi successivi
Dopo aver appreso le funzioni di data e ora, puoi utilizzarle all’interno delle query PQL. Per ulteriori informazioni su altre funzioni di PQL, leggere la panoramica di Profile Query Language.