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' ).