No PostgreSQL, o
date_part()
A função recupera subcampos como ano, mês, hora ou minuto, parte de um valor de data/hora. É equivalente ao
extract()
função, embora com uma sintaxe ligeiramente diferente. Sintaxe
A função tem a seguinte sintaxe:
date_part('field', source)
Onde:
'field'
é para a parte da data que você deseja recuperar. Este parâmetro deve ser um valor de string, não um nome. Veja abaixo uma lista de nomes de campos válidos.source
é um carimbo de data e hora ou um intervalo da qual você deseja que a parte da data seja recuperada.
Exemplo – carimbo de data/hora
Aqui está um exemplo básico para demonstrar como recuperar um campo de um timestamp .
SELECT date_part('hour', timestamp '2020-09-16 22:33:15');
Resultado:
22
Este exemplo recupera o campo de hora de um timestamp valor.
Aqui está novamente, mas desta vez eu recupero o campo do ano.
SELECT date_part('year', timestamp '2020-09-16 22:33:15');
Resultado:
2020
Exemplo - Intervalo
Neste exemplo, recupero uma parte de data de um intervalo valor.
SELECT date_part('hour', interval '5 hours 30 minutes');
Resultado:
5
No próximo exemplo, a função retorna corretamente o número de horas, embora eu forneça apenas o número de minutos.
SELECT date_part('hour', interval '120 minutes');
Resultado:
2
No entanto, não conte com esta técnica. Você pode descobrir que nem sempre obtém o resultado esperado.
Por exemplo:
SELECT date_part('hour', interval '100 minutes');
Resultado:
1
E outro:
SELECT date_part('minute', interval '2 hours');
Resultado:
0
Nomes de campo
O primeiro argumento pode ser qualquer um dos seguintes:
century
day
decade
dow
doy
epoch
hour
isodow
isoyear
microseconds
millennium
milliseconds
minute
month
quarter
second
timezone
timezone_hour
timezone_minute
week
year