As funções de data e hora são usadas para executar operações de data e hora em valores dentro de Profile Query Language (PQL). Mais informações sobre outras funções PQL podem ser encontradas no Profile Query Language visão geral.
O currentMonth
retorna o mês atual como um número inteiro.
Formato
currentMonth()
Exemplo
A consulta PQL a seguir verifica se o mês de nascimento da pessoa é o mês atual.
person.birthMonth = currentMonth()
O getMonth
retorna o mês, como um número inteiro, com base em um determinado carimbo de data e hora.
Formato
{TIMESTAMP}.getMonth()
Exemplo
A consulta PQL a seguir verifica se o mês de nascimento da pessoa é em junho.
person.birthdate.getMonth() = 6
O currentYear
retorna o ano atual como um número inteiro.
Formato
currentYear()
Exemplo
A consulta PQL a seguir verifica se o produto foi vendido no ano atual.
product.saleYear = currentYear()
O getYear
retorna o ano, como um número inteiro, com base em um determinado carimbo de data e hora.
Formato
{TIMESTAMP}.getYear()
Exemplo
A consulta PQL a seguir verifica se o ano de nascimento da pessoa é 1991, 1992, 1993, 1994 ou 1995.
person.birthday.getYear() in [1991, 1992, 1993, 1994, 1995]
O currentDayOfMonth
retorna o dia atual do mês como um número inteiro.
Formato
currentDayOfMonth()
Exemplo
A consulta PQL a seguir verifica se o dia de nascimento da pessoa corresponde ao dia atual do mês.
person.birthDay = currentDayOfMonth()
O getDayOfMonth
retorna o dia, como um número inteiro, com base em um determinado carimbo de data e hora.
Formato
{TIMESTAMP}.getDayOfMonth()
Exemplo
A consulta PQL a seguir verifica se o item foi vendido nos primeiros 15 dias do mês.
product.sale.getDayOfMonth() <= 15
O occurs
compara a função de carimbo de data e hora fornecida com um período fixo.
Formato
O occurs
pode ser escrita usando qualquer um dos seguintes formatos:
{TIMESTAMP} occurs {COMPARISON} {INTEGER} {TIME_UNIT} {DIRECTION} {TIME}
{TIMESTAMP} occurs {DIRECTION} {TIME}
{TIMESTAMP} occurs (on) {TIME}
{TIMESTAMP} occurs between {TIME} and {TIME}
Argumento | Descrição |
---|---|
{COMPARISON} |
Um operador de comparação. Pode ser qualquer um dos seguintes operadores: > , >= , < , <= , = , != . Mais informações sobre as funções de comparação podem ser encontradas no documento de funções de comparação. |
{INTEGER} |
Um inteiro não negativo. |
{TIME_UNIT} |
Uma unidade de tempo. Pode ser qualquer uma das seguintes palavras: millisecond(s) , second(s) , minute(s) , hour(s) , day(s) , week(s) , month(s) , year(s) , decade(s) , century , centuries , millennium , millennia . |
{DIRECTION} |
Uma apresentação descrevendo quando comparar a data com. Pode ser qualquer uma das seguintes palavras: before , after , from . |
{TIME} |
Pode ser um literal de carimbo de data e hora (today , now , yesterday , tomorrow ), uma unidade de tempo relativa (uma de this , last ou next seguido por uma unidade de tempo) ou um atributo de carimbo de data e hora. |
Uso da palavra on
é opcional. Ela existe para melhorar a legibilidade de algumas combinações, como timestamp occurs on date(2019,12,31)
.
Exemplo
A consulta PQL a seguir verifica se o item foi vendido na semana passada.
product.saleDate occurs last week
A consulta PQL a seguir verifica se um item foi vendido entre 8 de janeiro de 2015 e 1 de julho de 2017.
product.saleDate occurs between date(2015, 1, 8) and date(2017, 7, 1)
now
é uma palavra reservada que representa o carimbo de data e hora da execução de PQL.
Exemplo
A consulta PQL a seguir verifica se um item foi vendido exatamente três horas antes.
product.saleDate occurs = 3 hours before now
today
é uma palavra reservada que representa o carimbo de data e hora do início do dia de execução do PQL.
Exemplo
A consulta PQL a seguir verifica se o aniversário de uma pessoa foi de três dias atrás.
person.birthday occurs = 3 days before today
Agora que você aprendeu sobre as funções de data e hora, é possível usá-las em queries PQL. Para obter mais informações sobre outras funções PQL, leia a seção Visão geral do idioma de consulta do perfil.