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

Extraiga el año de una fecha en PostgreSQL

En PostgreSQL puede usar extract() función para obtener el año a partir de una fecha.

También puede usar el date_part() función para hacer lo mismo.

Ejemplo 1:La función extract()

Aquí hay un ejemplo del uso de extract() función para extraer el año de una fecha.

SELECT extract(
    year from date '1974-12-16'
    ) AS "Year";

Resultado:

 Year 
------
 1974

Aquí hay otro ejemplo usando la marca de tiempo actual.

SELECT extract(
    year from current_timestamp
    ) AS "Year";

Resultado:

 Year 
------
 2020

Ejemplo 2:La función date_part()

Aquí hay un ejemplo del uso de date_part() en su lugar.

SELECT date_part(
    'year', date '1974-12-16'
    ) AS "Year";

Resultado:

 Year 
------
 1974

Tenga en cuenta la sintaxis ligeramente diferente. También el 'year' El parámetro debe ser un valor de cadena (es decir, está entre comillas simples).

Ejemplo 3:Año ISO

Tiene la opción de especificar el año de numeración de semana ISO 8601.

Cada año de numeración de semanas ISO 8601 comienza con el lunes de la semana que contiene el 4 de enero, por lo que a principios de enero o finales de diciembre el año ISO puede ser diferente del año gregoriano (depende del año en cuestión).

Aquí hay un ejemplo que demuestra esto.

SELECT 
  extract(
    isoyear from date '2024-12-29'
    ) AS "2024-12-29",
  extract(
    isoyear from date '2024-12-30'
    ) AS "2024-12-30";  

Resultado:

 2024-12-29 | 2024-12-30 
------------+------------
       2024 |       2025

Así que ambas fechas caen bajo 2024 en el calendario gregoriano, pero caen bajo un año ISO diferente.

El date_part() la función también acepta 'isoyear' como argumento.