Datum- en tijdfuncties
Datum- en tijdfuncties worden gebruikt om datum- en tijdbewerkingen uit te voeren op waarden binnen Profile Query Language (PQL). Meer informatie over andere functies van PQL kan in het Profile Query Language overzichtworden gevonden.
Huidige maand
De functie currentMonth
retourneert de huidige maand als een geheel getal.
Formaat
currentMonth()
Voorbeeld
De volgende PQL-query controleert of de geboortemaand van de persoon de huidige maand is.
person.birthMonth = currentMonth()
Maand ophalen
De functie getMonth
retourneert de maand als een geheel getal op basis van een opgegeven tijdstempel.
Formaat
{TIMESTAMP}.getMonth()
Voorbeeld
De volgende PQL-query controleert of de geboortemaand van de persoon in juni is.
person.birthdate.getMonth() = 6
Huidig jaar
De functie currentYear
retourneert het huidige jaar als een geheel getal.
Formaat
currentYear()
Voorbeeld
De volgende PQL-query controleert of het product in het huidige jaar is verkocht.
product.saleYear = currentYear()
Jaar ophalen
De functie getYear
retourneert het jaar, als een geheel getal, op basis van een opgegeven tijdstempel.
Formaat
{TIMESTAMP}.getYear()
Voorbeeld
De volgende PQL controleert of het geboortejaar van de persoon in 1991, 1992, 1993, 1994 of 1995 valt.
person.birthday.getYear() in [1991, 1992, 1993, 1994, 1995]
Huidige dag van maand
De functie currentDayOfMonth
retourneert de huidige dag van de maand als een geheel getal.
Formaat
currentDayOfMonth()
Voorbeeld
De volgende PQL-query controleert of de geboortedag van de persoon overeenkomt met de huidige dag van de maand.
person.birthDay = currentDayOfMonth()
Dag van de maand ophalen
De functie getDayOfMonth
retourneert de dag als een geheel getal op basis van een opgegeven tijdstempel.
Formaat
{TIMESTAMP}.getDayOfMonth()
Voorbeeld
De volgende PQL-query controleert of het object binnen de eerste 15 dagen van de maand is verkocht.
product.sale.getDayOfMonth() <= 15
Occurs
De functie occurs
vergelijkt de opgegeven tijdstempelfunctie met een vaste tijdsperiode als een booleaanse functie.
Formaat
De functie occurs
kan met een van de volgende indelingen worden geschreven:
{TIMESTAMP} occurs {COMPARISON} {INTEGER} {TIME_UNIT} {DIRECTION} {TIME}
{TIMESTAMP} occurs {DIRECTION} {TIME}
{TIMESTAMP} occurs (on) {TIME}
{TIMESTAMP} occurs between {TIME} and {TIME}
{COMPARISON}
>
, >=
, <
, <=
, =
, !=
. Meer informatie over de vergelijkingsfuncties kan in het document van vergelijkingsfuncties worden gevonden.{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
), een relatieve tijdeenheid (een van this
, last
of next
gevolgd door een tijdstempelkenmerk) of een tijdstempelkenmerk zijn.on
is optioneel. Er is een functie waarmee bepaalde combinaties, zoals timestamp occurs on date(2019,12,31)
, beter leesbaar kunnen worden gemaakt.Voorbeeld
De volgende PQL-query controleert of het object vorige week is verkocht.
product.saleDate occurs last week
De volgende PQL-query controleert of een object is verkocht tussen 8 januari 2015 en 1 juli 2017.
product.saleDate occurs between date(2015, 1, 8) and date(2017, 7, 1)
Nu
now
is een gereserveerd woord dat het tijdstempel van de PQL-uitvoering vertegenwoordigt.
Voorbeeld
De volgende PQL-query controleert of een object precies drie uur eerder is verkocht.
product.saleDate occurs = 3 hours before now
Vandaag
today
is een gereserveerd woord dat staat voor het tijdstempel van het begin van de dag waarop de PQL wordt uitgevoerd.
Voorbeeld
De volgende PQL-query controleert of iemand drie dagen geleden jarig was.
person.birthday occurs = 3 days before today
Volgende stappen
Nu u over datum en tijdfuncties hebt geleerd, kunt u deze gebruiken in uw PQL-query's. Voor meer informatie over andere functies van PQL, te lezen gelieve het overzicht van Profile Query Language.