PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Como date_part() funciona no PostgreSQL


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