Tecnología

Inicio

Cómo obtener los nombres de los meses entre dos fechas en SQL

Cómo obtener los nombres de los meses entre dos fechas en SQL


Obtención de los nombres de los meses en un intervalo de fechas es una tarea mucho menos complicado de lo que puede parecer, a pesar de que se puede realizar de manera ligeramente diferente dependiendo del sabor de SQL que está utilizando. Con T-SQL que se puede hacer con la función DATENAME y una variable de tabla, mientras que con MySQL que utilizaría la función MONTHNAME y una tabla temporal.

Instrucciones

Obtener Mes Los nombres en T-SQL

1 Declarar las variables de fecha de inicio y finalización, así como una variable de tabla para almacenar temporalmente los nombres de los meses; por ejemplo:

DECLARE DATETIME @Start;
DECLARE DATETIME @end;

DECLARE @months TABLA (nombre-mes VARCHAR (30));

SET @Start = '2011-01-01';
@end SET = '2011-12-01';

2 Iterar a través de los meses, añadiendo los nombres de los meses a la variable de tabla utilizando las funciones DATEADD DATENAME y; por ejemplo:

DECLARE DATETIME @Start;
DECLARE DATETIME @end;

DECLARE @months TABLA (nombre-mes VARCHAR (30));

SET @Start = '2011-01-01';
@end SET = '2011-12-01';

MIENTRAS (@Start <@end)
EMPEZAR

INSERT INTO @months
SELECT DATENAME(month, @start);

SET @Start = DATEADD (mes, 1, @Start);

FIN

3 Por último, seleccione la lista de los nombres de los meses de la variable de tabla; por ejemplo:

DECLARE DATETIME @Start;
DECLARE DATETIME @end;

DECLARE @months TABLA (nombre-mes VARCHAR (30));

SET @Start = '2011-01-01';
@end SET = '2011-12-01';

MIENTRAS (@Start <@end)
EMPEZAR

INSERT INTO @months
SELECT DATENAME(month, @start);

SET @Start = DATEADD (mes, 1, @Start);

FIN

SELECT * FROM @months;

Obtener Mes Los nombres en MySQL

4 Declarar las variables de fecha de inicio y fin, y luego crear una tabla temporal para contener los nombres de los meses; por ejemplo:

DECLARE DATETIME @Start;
DECLARE DATETIME @end;

CREAR TempMonths tabla temporal (nombre-mes VARCHAR (30));

SET @Start = '2011-01-01';
@end SET = '2011-12-01';

5 Iterar a través de los meses, añadiendo los nombres de los meses de la tabla temporal utilizando las funciones DATE_ADD MONTHNAME y; por ejemplo:

DECLARE DATETIME @Start;
DECLARE DATETIME @end;

CREAR TempMonths tabla temporal (nombre-mes VARCHAR (30));

SET @Start = '2011-01-01';
@end SET = '2011-12-01';

MIENTRAS (@Start <@end)
EMPEZAR

INSERT INTO TempMonths
SELECT MONTHNAME(@start);

SET @Start = DATE_ADD (@Start, INTERVALO DE 1 MES);

FIN

6 Por último, seleccione la lista de los nombres de los meses y limpieza de la tabla temporal; por ejemplo:

DECLARE DATETIME @Start;
DECLARE DATETIME @end;

CREAR TempMonths tabla temporal (nombre-mes VARCHAR (30));

SET @Start = '2011-01-01';
@end SET = '2011-12-01';

MIENTRAS (@Start <@end)
EMPEZAR

INSERT INTO TempMonths
SELECT MONTHNAME(@start);

SET @Start = DATE_ADD (@Start, INTERVALO DE 1 MES);

FIN

SELECT * FROM TempMonths;

DROP TABLE TempMonths;