sql >> Base de Datos >  >> RDS >> PostgreSQL

Cómo funciona date_part() en PostgreSQL

En PostgreSQL, el date_part() La función recupera subcampos como el año, mes, hora o minuto, parte de un valor de fecha/hora.

Es equivalente a extract() función, aunque con una sintaxis ligeramente diferente.

Sintaxis

La función tiene la siguiente sintaxis:

date_part('field', source)

Dónde:

  • 'field' es para la parte de la fecha que desea recuperar. Este parámetro debe ser un valor de cadena, no un nombre. Consulte a continuación una lista de nombres de campo válidos.
  • source es una marca de tiempo o un intervalo de la que desea recuperar la parte de la fecha.

Ejemplo:marca de tiempo

Aquí hay un ejemplo básico para demostrar cómo recuperar un campo de una marca de tiempo .

SELECT date_part('hour', timestamp '2020-09-16 22:33:15');

Resultado:

22

Este ejemplo recupera el campo de hora de una marca de tiempo valor.

Aquí está de nuevo, pero esta vez recupero el campo del año.

SELECT date_part('year', timestamp '2020-09-16 22:33:15');

Resultado:

2020

Ejemplo:Intervalo

En este ejemplo, recupero una parte de fecha de un intervalo valor.

SELECT date_part('hour', interval '5 hours 30 minutes');

Resultado:

5

En el siguiente ejemplo, la función devuelve correctamente la cantidad de horas, aunque solo proporcione la cantidad de minutos.

SELECT date_part('hour', interval '120 minutes');

Resultado:

2

Sin embargo, no cuentes con esta técnica. Es posible que descubras que no siempre obtienes el resultado que esperas.

Por ejemplo:

SELECT date_part('hour', interval '100 minutes');

Resultado:

1

Y otro:

SELECT date_part('minute', interval '2 hours');

Resultado:

0

Nombres de campo

El primer argumento puede ser cualquiera de los siguientes:

  • century
  • day
  • decade
  • dow
  • doy
  • epoch
  • hour
  • isodow
  • isoyear
  • microseconds
  • millennium
  • milliseconds
  • minute
  • month
  • quarter
  • second
  • timezone
  • timezone_hour
  • timezone_minute
  • week
  • year