Problema:
Le gustaría obtener el mes de una columna de fecha/fechahora en una base de datos MySQL.
Ejemplo:
Nuestra base de datos tiene una tabla llamada apartment_rental
con datos en las columnas id
, address
, floor
y start_date
.
id | dirección | piso | fecha_inicio |
---|---|---|---|
1 | Calle Roble 700 | 2 | 2019-03-20 |
2 | Calle principal 295 | 3 | 2019-05-31 |
3 | Carretera estatal 506 | 1 | 2019-01-03 |
4 | 3949 Ruta 31 | 1 | 2019-02-01 |
Para cada apartamento disponible, obtenga la dirección, el piso y el mes en que está disponible. Obtenga solo el mes desde el start_date
columna.
Solución:
Usaremos el MONTH()
función. Esta es la consulta que escribirías:
SELECT address, floor, MONTH(start_date) AS start_month FROM apartment_rental;
Este es el resultado de la consulta:
dirección | piso | mes_inicio |
---|---|---|
700 Oak Street | 2 | 3 |
Calle principal 295 | 3 | 5 |
Carretera estatal 506 | 1 | 1 |
3949 Ruta 31 | 1 | 2 |
Discusión:
Usa el MONTH()
función para recuperar un mes de una columna de fecha/fechahora/marca de tiempo en MySQL. Esta función solo toma un argumento, ya sea una expresión que devuelve un valor de fecha/fechahora/marca de tiempo o el nombre de una columna de fecha/fechahora/marca de tiempo. (En nuestro ejemplo, usamos start_date
columna de fecha tipo de datos).
MONTH()
devuelve el mes como un número entero del 1 al 12 (1 es enero y 12 es diciembre). En nuestro ejemplo, el apartamento en 700 Oak Street comenzará a alquilar en el mes 3 porque su fecha de inicio es '2019-03-20'