Obtendo os nomes dos meses em um intervalo de datas é uma tarefa muito menos complicado do que pode parecer à primeira vista , embora possa ser feito de forma ligeiramente diferente , dependendo do sabor do SQL você está usando. Com T-SQL que pode ser feito com a função DATENAME e uma variável de tabela , enquanto que com o MySQL você usaria a função MONTHNAME e uma tabela temporária. Instruções
Obter Mês Nomes em T-SQL
1
Declare as variáveis data de início e fim , bem como uma variável de tabela para armazenar temporariamente os nomes dos meses , por exemplo:
DECLARE @ começar DATETIME ; DECLARE @ DATETIME fim;
DECLARE @ meses TABLE ( MONTH_NAME VARCHAR ( 30) );
SET @ start = '2011 -01-01 '; SET @ acabar = '2011 -12-01 ';
2
Iterate com os meses , adicionando os nomes dos meses para a variável de tabela usando o DATENAME e funções DATEADD , por exemplo:
DECLARE @ começar DATETIME ; DECLARE @ DATETIME fim;
DECLARE @ meses TABLE ( MONTH_NAME VARCHAR ( 30) );
SET @ start = '2011 -01-01 '; SET @ end =' 2011-12-01 ';
WHILE ( @ start < @ end ) BEGIN
INSERT INTO @ monthsSELECT DATENAME (mês, @ start );
SET @ início = DateAdd (mês , 1, @ start );
END
3
por fim, selecione a lista de nomes dos meses da variável de tabela , por exemplo:
DECLARE @ começar DATETIME ; DECLARE @ DATETIME fim;
DECLARE @ meses TABLE ( MONTH_NAME VARCHAR ( 30) );
SET @ start = '2011 -01-01 '; SET @ end = '2011 -12-01 ';
WHILE ( @ start < @ end ) BEGIN
INSERT INTO @ monthsSELECT DATENAME (mês, @ start );
SET @ start = DateAdd (mês , 1, @ start );
END
SELECT * FROM @ meses;
Obter mês nomes no MySQL < br >
4
Declare o início e variáveis de data final , e , em seguida, criar uma tabela temporária para armazenar os nomes dos meses , por exemplo:
DECLARE @ começar DATETIME ; DECLARE @ DATETIME fim;
CRIAR TempMonths TEMPORARY TABLE ( MONTH_NAME VARCHAR (30) ) ;
SET @ start = '2011 -01-01 '; SET @ end = '2011 -12-01 ';
< br > 5
Percorrer os meses , adicionando os nomes dos meses para a tabela temporária usando as funções MONTHNAME e DATE_ADD , por exemplo:
DECLARE @ começar DATETIME ; DECLARE @ DATETIME fim;
CRIAR TempMonths TEMPORARY TABLE ( MONTH_NAME VARCHAR (30) ) ;
SET @ start = '2011 -01-01 '; SET @ end = '2011 -12-01 ';
ENQUANTO ( @ start < @ end ) BEGIN
INSERT INTO TempMonthsSELECT MONTHNAME ( @ start );
SET @ start = DATE_ADD ( @ início , intervalo de 1 mês) ;
eND
6
por fim, selecione a lista de nomes dos meses e limpeza da tabela temporária , por exemplo:
DECLARE @ começar DATETIME ; DECLARE @ DATETIME fim;
CRIAR TempMonths TEMPORARY TABLE ( MONTH_NAME VARCHAR ( 30) );
SET @ start = '2011 -01-01 '; SET @ end = '2011 -12-01 ';
WHILE ( @ start < @ end ) BEGIN
INSERT INTO TempMonthsSELECT MONTHNAME ( @ começar );
SET @ start = DATE_ADD ( @ início , intervalo de 1 mês) ;
eND
SELECT * FROM TempMonths ;
CAIR TempMonths mesa;