siglo

El siglo

SELECT EXTRACT(CENTURY FROM TIMESTAMP '2000-12-16 12:21:13');Result: 20SELECT EXTRACT(CENTURY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 21

El primer siglo comienza en el 0001-01-01 00:00:00 AD, aunque no lo sabían en ese momento. Esta definición se aplica a todos los países con calendario gregoriano. No hay número de siglo 0, se pasa de -1 siglo a 1 siglo. Si no está de acuerdo con esto, escriba su queja a: Papa, Catedral San Pedro de Roma, Vaticano.

Las versiones de PostgreSQL anteriores a la 8.0 no seguían la numeración convencional de los siglos, sino que simplemente devolvían el campo del año dividido por 100.

día

Para los valores de marca de tiempo, el campo día (del mes) (1 – 31) ; para valores de intervalo, el número de días

SELECT EXTRACT(DAY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 16SELECT EXTRACT(DAY FROM INTERVAL '40 days 1 minute');Result: 40

década

El campo del año dividido por 10

SELECT EXTRACT(DECADE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 200

día

El día de la semana como domingo (0) a sábado (6)

SELECT EXTRACT(DOW FROM TIMESTAMP '2001-02-16 20:38:40');Result: 5

Nótese que la numeración del día de la semana de extract difiere de la de la función to_char(..., 'D').

doy

El día del año (1 – 365/366)

SELECT EXTRACT(DOY FROM TIMESTAMP '2001-02-16 20:38:40');Result: 47

epoch

Para los valores de fecha y marca de tiempo, el número de segundos desde 1970-01-01 00:00:00 UTC (puede ser negativo); para los valores de intervalo, el número total de segundos en el intervalo

SELECT EXTRACT(EPOCH FROM TIMESTAMP WITH TIME ZONE '2001-02-16 20:38:40.12-08');Result: 982384720.12SELECT EXTRACT(EPOCH FROM INTERVAL '5 days 3 hours');Result: 442800

Así es como se puede convertir un valor de época en una marca de tiempo:

SELECT TIMESTAMP WITH TIME ZONE 'epoch' + 982384720.12 * INTERVAL '1 second';

(La función to_timestamp encapsula la conversión anterior.)

hora

El campo de la hora (0 – 23)

SELECT EXTRACT(HOUR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 20

isodow

El día de la semana como lunes (1) a domingo (7)

SELECT EXTRACT(ISODOW FROM TIMESTAMP '2001-02-18 20:38:40');Result: 7

Esto es idéntico a dow excepto el domingo. Esto coincide con la numeración del día de la semana ISO 8601.

isoyear

El año de numeración de la semana ISO 8601 en el que cae la fecha (no aplicable a los intervalos)

SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-01');Result: 2005SELECT EXTRACT(ISOYEAR FROM DATE '2006-01-02');Result: 2006

Cada año de numeración de la semana ISO 8601 comienza con el lunes de la semana que contiene el 4 de enero, por lo que a principios de enero o a finales de diciembre el año ISO puede ser diferente del año gregoriano. Vea el campo de la semana para más información.

Este campo no está disponible en las versiones de PostgreSQL anteriores a la 8.3.

microsegundos

El campo de los segundos, incluyendo las partes fraccionarias, multiplicado por 1 000 000; tenga en cuenta que esto incluye los segundos completos

SELECT EXTRACT(MICROSECONDS FROM TIME '17:12:28.5');Result: 28500000

milenio

El milenio

SELECT EXTRACT(MILLENNIUM FROM TIMESTAMP '2001-02-16 20:38:40');Result: 3

Los años del 1900 están en el segundo milenio. El tercer milenio comenzó el 1 de enero de 2001.

Las versiones de PostgreSQL anteriores a la 8.0 no seguían la numeración convencional de los milenios, sino que simplemente devolvían el campo del año dividido por 1000.

milisegundos

El campo de los segundos, incluyendo las partes fraccionarias, multiplicado por 1000. Tenga en cuenta que esto incluye los segundos completos.

SELECT EXTRACT(MILLISECONDS FROM TIME '17:12:28.5');Result: 28500

minutos

El campo de minutos (0 – 59)

SELECT EXTRACT(MINUTE FROM TIMESTAMP '2001-02-16 20:38:40');Result: 38

mes

Para valores de marca de tiempo, el número del mes dentro del año (1 – 12) ; para los valores de intervalo, el número de meses, módulo 12 (0 – 11)

SELECT EXTRACT(MONTH FROM TIMESTAMP '2001-02-16 20:38:40');Result: 2SELECT EXTRACT(MONTH FROM INTERVAL '2 years 3 months');Result: 3SELECT EXTRACT(MONTH FROM INTERVAL '2 years 13 months');Result: 1

trimestre

El trimestre del año (1 – 4) en el que se encuentra la fecha

SELECT EXTRACT(QUARTER FROM TIMESTAMP '2001-02-16 20:38:40');Result: 1

segundo

El campo de los segundos, incluyendo las partes fraccionarias (0 – 59)

SELECT EXTRACT(SECOND FROM TIMESTAMP '2001-02-16 20:38:40');Result: 40SELECT EXTRACT(SECOND FROM TIME '17:12:28.5');Result: 28.5

zona horaria

El desfase de la zona horaria con respecto a UTC, medido en segundos. Los valores positivos corresponden a zonas horarias al este de UTC, los valores negativos a zonas al oeste de UTC. (Técnicamente, PostgreSQL utiliza UT1 porque no se manejan los segundos bisiestos.)

timezone_hour

El componente de la hora del desplazamiento de la zona horaria

timezone_minute

El componente de los minutos del desplazamiento de la zona horaria

week

El número de la semana ISO 8601 del año. Por definición, las semanas ISO comienzan los lunes y la primera semana de un año contiene el 4 de enero de ese año. En otras palabras, el primer jueves de un año está en la semana 1 de ese año.

En el sistema de numeración de semanas ISO, es posible que las fechas de principios de enero formen parte de la semana 52 o 53 del año anterior, y que las fechas de finales de diciembre formen parte de la primera semana del año siguiente. Por ejemplo, 2005-01-01 forma parte de la 53ª semana del año 2004, y 2006-01-01 forma parte de la 52ª semana del año 2005, mientras que 2012-12-31 forma parte de la primera semana de 2013. Se recomienda utilizar el campo isoyear junto con week para obtener resultados consistentes.

SELECT EXTRACT(WEEK FROM TIMESTAMP '2001-02-16 20:38:40');Result: 7

year

El campo year. Tenga en cuenta que no hay 0 AD, por lo que restar los años BC de los años AD debe hacerse con cuidado.

SELECT EXTRACT(YEAR FROM TIMESTAMP '2001-02-16 20:38:40');Result: 2001

Deja una respuesta

Tu dirección de correo electrónico no será publicada.