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'