Datum- en tijdfuncties
Datum- en tijdfuncties worden gebruikt voor het uitvoeren van datum- en tijdbewerkingen op waarden binnen Profile Query Language (PQL). Meer informatie over andere PQL-functies vindt u in de Profile Query Language overzicht.
Huidige maand
De currentMonth
Deze functie retourneert de huidige maand als een geheel getal.
Indeling
currentMonth()
Voorbeeld
De volgende vraag PQL controleert als de geboortemaand van de persoon de huidige maand is.
person.birthMonth = currentMonth()
Maand ophalen
De getMonth
Deze functie retourneert de maand als een geheel getal op basis van een opgegeven tijdstempel.
Indeling
{TIMESTAMP}.getMonth()
Voorbeeld
De volgende vraag PQL controleert als de geboortemaand van de persoon in Juni is.
person.birthdate.getMonth() = 6
Huidig jaar
De currentYear
Deze functie retourneert het huidige jaar als een geheel getal.
Indeling
currentYear()
Voorbeeld
De volgende PQL-query controleert of het product in het huidige jaar is verkocht.
product.saleYear = currentYear()
Jaar ophalen
De getYear
Deze functie retourneert het jaar als een geheel getal, gebaseerd op een opgegeven tijdstempel.
Indeling
{TIMESTAMP}.getYear()
Voorbeeld
De volgende PQL-query 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 currentDayOfMonth
Deze functie retourneert de huidige dag van de maand als een geheel getal.
Indeling
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 getDayOfMonth
Deze functie retourneert de dag als een geheel getal op basis van een opgegeven tijdstempel.
Indeling
{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 occurs
Deze functie vergelijkt de opgegeven tijdstempelfunctie met een vaste tijdsperiode.
Indeling
De occurs
Deze functie kan in 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 vindt u in het gedeelte document met vergelijkingsfuncties.{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 de this
, last
, of next
gevolgd door een tijdeenheid) of een tijdstempelkenmerk.on
is optioneel. Het is mogelijk de leesbaarheid van bepaalde combinaties te verbeteren, zoals timestamp occurs on date(2019,12,31)
.Voorbeeld
De volgende PQL-query controleert of het item vorige week is verkocht.
product.saleDate occurs last week
De volgende PQL-query controleert of een item 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 uitvoering van de PQL vertegenwoordigt.
Voorbeeld
De volgende PQL-query controleert of een item precies drie uur eerder is verkocht.
product.saleDate occurs = 3 hours before now
Vandaag
today
is een gereserveerd woord dat de tijdstempel vertegenwoordigt van het begin van de dag van de PQL-uitvoering.
Voorbeeld
De volgende PQL-query controleert of een persoon drie dagen geleden jarig was.
person.birthday occurs = 3 days before today
Volgende stappen
Nu u over datum en tijdfuncties hebt geleerd, kunt u hen binnen uw vragen gebruiken PQL. Voor meer informatie over andere PQL functies, gelieve te lezen Overzicht van taal voor profielquery.