Problema:
Le gustaría obtener el mes de un campo de fecha en una base de datos de SQL Server.
Ejemplo:
Nuestra base de datos tiene una tabla llamada Furniture
con datos en las columnas Id
, Name
y ProducedDate
.
Id | Nombre | Fecha de producción |
---|---|---|
1 | sofá | 2018-01-10 |
2 | silla | 2018-01-05 |
3 | escritorio | 2018-06-20 |
4 | estantería | 2018-11-15 |
Obtengamos el mes de la ProducedDate
de cada producto y averigüe qué muebles se produjeron en un mes determinado.
Solución:
Usaremos el MONTH()
función. Esta es la consulta que escribirías:
SELECT Name, MONTH(ProducedDate) AS ProducedMonth FROM Furniture;
Este es el resultado de la consulta:
Nombre | ProducidoMes |
---|---|
sofá | 1 |
silla | 1 |
escritorio | 6 |
librería | 11 |
Discusión:
Para obtener un mes de un campo de fecha en SQL Server, use MONTH()
función. Esta función toma solo un argumento:la fecha. Puede ser un tipo de datos de fecha o de fecha y hora. (En nuestro ejemplo, la columna ProducedDate
es de la fecha tipo de datos.) El argumento puede ser un nombre de columna o una expresión. (En nuestro ejemplo, es ProducedDate
columna).
MONTH()
devuelve el número del mes como un número entero del 1 al 12. Para el escritorio artículo, el ProducedMonth
el valor es 6 (devuelto desde el 'YYYY-MM-DD'
fecha '2018-06-20'
).