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.