sql >> Base de Datos >  >> RDS >> Mysql

Cómo obtener el año de una columna de fecha y hora en MySQL

Problema:

Le gustaría obtener el año de una columna de fecha/fechahora en una base de datos MySQL.

Ejemplo:

Nuestra base de datos tiene una tabla llamada conference con datos en las columnas id , name y start_datetime .

id nombre start_datetime
1 Mundo de las redes sociales 2019-02-20 14:15:34
2 Mundo Móvil 2017 2017-08-31 20:10:14
3 Feria de Electrónica 2018-04-03 10:05:45
4 Tecnología de Asia 2019 2019-01-01 12:47:54

Para cada conferencia, obtengamos su nombre y año. Tendremos que obtener solo el año desde el start_datetime columna.

Solución:

Usaremos el YEAR() función. Esta es la consulta que escribirías:

SELECT name,
       YEAR(start_datetime) 
         AS  year_of_conference
FROM conference;

Este es el resultado de la consulta:

nombre año_de_la_conferencia
Mundo de las redes sociales 2019
Mundo Móvil 2017 2017
Feria de Electrónica 2018
Tecnología de Asia 2019 2019

Discusión:

Usa el YEAR() función para recuperar el valor del año de una columna de fecha/fechahora/marca de tiempo en MySQL. Esta función toma solo un argumento:una fecha o fecha y hora. Puede ser el nombre de una columna de fecha/fechahora/marca de tiempo o una expresión que devuelve uno de esos tipos de datos. (En nuestro ejemplo, es la columna start_datetime del tipo de datos de fecha.)

YEAR() devuelve el año como un número entero de 1000 a 9999. El 'Social Media World' la fecha de inicio de la conferencia es '2019-02-20 14:15:34' , entonces YEAR() devolvió '2019' para este registro.