SQL

¿Cómo obtener los registros de un mes determinado en SQL Server con la función MONTH()?

Estrada Web Group
Administrador
¿Cómo obtener los registros de un mes determinado en SQL Server con la función MONTH()?

En este tutorial, aprenderás a usar la función MONTH() de SQL Server para extraer el mes de una fecha, además la utilizaremos con la cláusula WHERE para obtener los registros de un mes determinado.

Descripción general de la función MONTH() de SQL Server

La función MONTH() devuelve un valor entero que representa el mes de una fecha específica, también lo podemos utilizar en clausulas WHERE.

A continuación, se muestra la sintaxis de la función MONTH():

MONTH(input_date)

La función MONTH() toma un argumento que puede ser un valor de fecha o una expresión que puede resolverse en un valor TIME, DATE, SMALLDATETIME, DATETIME, DATETIME2 o DATETIMEOFFSET.

La función MONTH() devuelve el mismo valor que la siguiente función DATEPART():

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 usa la función MONTH() para extraer el mes desde la fecha '2020-12-01':

SELECT MONTH('2020-12-01') [Month];

Resultado:

Month
-----------
12
(1 row affected)

B) Uso de la función MONTH() con un valor de fecha que solo tiene datos de tiempo

La función MONTH() devolverá 1 si el valor de la fecha contiene solo una parte de tiempo:

SELECT  MONTH('15:30:20') [Month];
Month
-----------
1
(1 row affected)

C) Uso de la función MONTH() con una tabla SQL Server

Utilizaremos sales.orders y sales.order_items de la base de datos de muestra para la demostración.

Este ejemplo utiliza la función MONTH() para extraer el mes de la columna shipped_date. Devuelve las ventas brutas por mes en 2018 utilizando la función SUMA() y la cláusula GROUP BY:

SELECT MONTH(shipped_date) [month],
    SUM(list_price * quantity) gross_sales
FROM sales.orders o
    INNER JOIN sales.order_items i ON i.order_id = o.order_id
WHERE shipped_date IS NOT NULL
    AND YEAR(shipped_date) = 2017
GROUP BY MONTH(shipped_date)
ORDER BY [month];

Resultado:

month       gross_sales
----------- ---------------------------------------
1           291487.89
2           294607.77
3           368210.07
4           266578.50
5           282580.74
6           420611.08
7           221318.92
8           326123.26
9           317060.85
10          311766.19
11          332052.61
12          293492.88

(12 row(s) affected)

En este ejemplo utiliza la función MONTH() para obtener ventas brutas del mes de Julio, sin importar el año.

SELECT (shipped_date) [month],
    (list_price * quantity) gross_sales
FROM sales.orders o
    INNER JOIN sales.order_items i ON i.order_id = o.order_id
WHERE shipped_date IS NOT NULL
    AND MONTH(shipped_date) = 7
ORDER BY [month];
month      gross_sales
---------- ---------------------------------------
2016-07-01 939.98
2016-07-01 539.98
2016-07-02 898.00
2016-07-02 2899.99
2016-07-02 3098.00
2016-07-02 898.00
2016-07-02 469.99
2016-07-02 449.00
2016-07-02 269.99
.
.
.

En este tutorial, has aprendido cómo extraer el mes a partir de una fecha específica mediante el uso de la función SQL Server MONTH().

Compartir artículo:

Más artículos geniales

Cómo usar los valores NULL y los operadores IS NULL y IS NOT NULL para probar si un valor es NULL

Cómo usar los valores NULL y los operadores IS NULL y IS NOT NULL para probar si un valor es NULL

Resumen: en este tutorial, aprenderás sobre la lógica de los valores NULL en SQL Server. También aprenderás a usar los operadores IS NULL y IS NOT NULL para probar si un valor es NULL o no.

Ver artículo completo
¿Como concatenar texto o columnas en SQL con la función CONCAT?

¿Como concatenar texto o columnas en SQL con la función CONCAT?

En este tutorial, aprenderá a usar la función CONCAT() de SQL Server para unir varias cadenas de texto columnas en una sola.

Ver artículo completo
¿Cómo obtener la suma de valores de una columna en SQL Server con la función SUM()?

¿Cómo obtener la suma de valores de una columna en SQL Server con la función SUM()?

En este tutorial, aprenderás a usar la función SUM() de SQL Server para realizar la suma de valores de una columna.

Ver artículo completo

Manténgase actualizado

Obtenga excelente contenido en su bandeja de entrada todas las semanas.
Solo contenido excelente, no compartimos su correo electrónico con terceros.
Subir al inicio de la pantalla