Referencia de funciones

DATE_PART

Equivalente en MySQL:

Devuelve la parte indicada de una fecha, una hora o un intervalo.

PostgreSQL 17.9
DATE_PART(field, source)
field
Nombre de la parte como cadena
text
'century''day''decade''dow''doy''epoch''hour''isodow''isoyear''julian''microseconds''millennium''milliseconds''minute''month''quarter''second''timezone''timezone_hour''timezone_minute''week''year'
source
Fecha, hora o intervalo
timestamp | interval

Valor devuelto

Número de coma flotante (double precision), por ejemplo 2023 para year

Ejemplos

Año de una fecha

PostgreSQL 17.9
SELECT DATE_PART('year', TIMESTAMP '2023-01-01');
date_part
2023

El domingo como día 0 de la semana

PostgreSQL 17.9
SELECT DATE_PART('dow', DATE '2024-03-10');
date_part
0

Número de pagos por trimestre

PostgreSQL 17.9
SELECT DATE_PART('quarter', date) AS quarter,
	COUNT(*) AS payments
FROM Payments
GROUP BY quarter
ORDER BY quarter;
quarterpayments
19
29
36
44

Detalles

A diferencia de EXTRACT, que devuelve numeric, DATE_PART puede perder precisión.

Día de la semana: 'dow' da 0 para el domingo y 6 para el sábado; 'isodow' va de 1 para el lunes a 7 para el domingo. DAYOFWEEK de MySQL cuenta de otra forma: el domingo es 1 y el sábado, 7.

'week' es el número de semana ISO: la semana empieza el lunes y los primeros días de enero pueden pertenecer a la última semana del año anterior. Por eso el número de semana se usa junto con 'isoyear', no con 'year': para 2021-01-01 la semana es la 53 y el año ISO, 2020.

Véase también