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

Cómo obtener el mes de una fecha en MySQL

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'