Obtener los nombres de los meses en un rango de fechas es una tarea mucho más complicada de lo que puede parecer a primera vista , a pesar de que se puede hacer de manera ligeramente diferente dependiendo del sabor de SQL que están utilizando . Con T -SQL se puede hacer con la función DATENAME y una variable de tabla , mientras que con MySQL debe utilizar la función MonthName y una tabla temporal. Instrucciones
nombres de los meses en T -SQL
1
Declarar la fecha de inicio y fecha de las variables finales, así como una variable de tabla para almacenar temporalmente los nombres de los meses , por ejemplo:
< p> DECLARE @ inicio DATETIME ; DECLARE @ end DATETIME ;
DECLARE @ mes MESA ( nombre-mes VARCHAR ( 30 ));
SET @ start = '2011 -01 -01 ' , SET @ end = '2011 -12 -01 ' ;
2
Iterar a través de los meses , añadiendo los nombres de los meses a la variable de tabla utilizando el DATENAME y funciones DATEADD , por ejemplo:
DECLARE @ iniciar DATETIME ; DECLARE @ end DATETIME ;
DECLARE @ mes MESA ( nombre-mes VARCHAR ( 30 ));
SET @ start = '2011 -01 -01 ' , SET @ end =' 2011-12-01 ' ;
WHILE ( @ start < @ end ) COMENZAR
INSERT INTO @ monthsSELECT DATENAME ( mes , @ start) ;
SET @ inicio = DATEADD ( mes , 1 , @ start) ;
FIN
3
por último , seleccione la lista de nombres de meses a partir de la variable de tabla , por ejemplo:
DECLARE @ inicio DATETIME ; DECLARE @ end DATETIME ;
DECLARE @ mes MESA ( nombre-mes VARCHAR ( 30 ));
SET @ start = '2011 -01 -01 ' , JUEGO @ end = '2011 -12 -01 ' ;
WHILE ( @ start < @ end ) COMENZAR
INSERT INTO @ monthsSELECT DATENAME ( mes , @ start) ;
< p > SET @ start = DATEADD ( mes , 1 , @ start) ;
End of
SELECT * FROM @ mes ;
Cómo nombres de los meses en MySQL < br > Página 4
Declarar el inicio y las variables de fecha de finalización, y luego crear una tabla temporal para almacenar los nombres de los meses , por ejemplo:
DECLARE @ inicio DATETIME ; DECLARE @ DATETIME fin;
TempMonths CREATE TABLE nombre-mes Temporales ( VARCHAR ( 30 ) ) ;
SET @ start = '2011 -01 -01 ' , SET @ end = '2011 -12 -01' ;
< br > 5
Iterar a través de los meses , añadiendo los nombres de los meses de la tabla temporal mediante el MonthName y funciones DATE_ADD , por ejemplo:
DECLARE @ inicio DATETIME ; DECLARE @ end DATETIME ;
CREATE TABLE TempMonths Temporales ( nombre-mes VARCHAR ( 30 ));
SET @ start = '2011 -01 -01 ' , SET @ end = '2011 -12 -01' ;
WHILE ( @ inicio < @ end ) cOMENZAR
INSERT INTO TempMonthsSELECT MonthName (@ start) ;
SET @ start = DATE_ADD (@ inicio , intervalo de 1 mes) ;
END
6
por último , seleccione la lista de los nombres de los meses y la limpieza de la tabla temporal , por ejemplo:
DECLARE @ inicio DATETIME ; DECLARE @ DATETIME fin;
CREATE TempMonths TABLA TEMPORAL ( nombre-mes VARCHAR ( 30 ) ) ;
SET @ start = '2011 -01 -01 ' , SET @ end = '2011 -12 -01' ;
WHILE ( @ inicio < @ end ) cOMENZAR
INSERT INTO TempMonthsSELECT MonthName (@ start) ;
SET @ start = DATE_ADD (@ inicio , intervalo de 1 mes) ;
END
SELECT * FROM TempMonths ;
TempMonths DROP TABLE ;