Resumen: en este tutorial, aprenderás a utilizar la función MONTH()
de SQL Server para extraer el mes de una fecha.
Resumen de la función MONTH() de SQL Server
La función MONTH()
devuelve un valor entero que representa el mes de una fecha especificada.
A continuación se muestra la sintaxis de la función MONTH()
:
Code language: SQL (Structured Query Language) (sql)MONTH(input_date)
La función MONTH()
toma un argumento que puede ser un valor de fecha literal o una expresión que puede resolver a un TIME
DATE
SMALLDATETIME
DATETIME
DATETIME2
, o DATETIMEOFFSET
.
La función MONTH()
devuelve el mismo valor que la siguiente función DATEPART()
:
Code language: SQL (Structured Query Language) (sql)DATEPART(month,input_date)
Ejemplos de la función MONTH() de SQL Server
A) Uso de la función MONTH() con un valor de fecha literal
Este ejemplo utiliza la función MONTH()
para extraer un mes de la fecha '2020-12-01'
:
Code language: SQL (Structured Query Language) (sql)SELECT MONTH('2020-12-01') ;
Aquí está el resultado:
month-----------12(1 row affected)
B) Usando la función MONTH() con un valor de fecha que sólo tiene datos de tiempo
La función MONTH()
devolverá 1 si el valor de la fecha sólo contiene parte de tiempo:
Code language: SQL (Structured Query Language) (sql)SELECT MONTH('15:30:20') ;
La salida es la siguiente:
month-----------1(1 row affected)
C) Uso de la función MONTH() con columnas de tabla de ejemplo
Utilizaremos el sales.orders
y el sales.order_items
de la base de datos de ejemplo para la demostración.
Este ejemplo utiliza la función MONTH()
para extraer los datos del mes a partir de los valores de la columna shipped_date
. Devuelve las ventas brutas por mes en 2018 utilizando la función SUM()
y la cláusula GROUP BY
:
Code language: SQL (Structured Query Language) (sql)SELECT MONTH(shipped_date) , SUM(list_price * quantity) gross_salesFROM sales.orders o INNER JOIN sales.order_items i ON i.order_id = o.order_idWHERE shipped_date IS NOT NULL AND YEAR(shipped_date) = 2017GROUP BY MONTH(shipped_date)ORDER BY ;
La siguiente imagen muestra la salida: