Ottenere i nomi dei mesi in un intervallo di date è un compito molto meno complicato di quanto possa apparire a prima vista , anche se può essere fatto in modi leggermente diversi a seconda del gusto di SQL voi sta utilizzando. Con T - SQL che può essere fatto con la funzione DATENAME e una variabile di tabella , mentre con MySQL è necessario utilizzare la funzione MonthName e una tabella temporanea .
Istruzioni Get nomi dei mesi in T - SQL
1
dichiarare la data di inizio e data di fine variabili , così come una variabile di tabella per memorizzare temporaneamente i nomi dei mesi , ad esempio:
< p > DECLARE @ DATETIME inizio ; DECLARE @ end DATETIME ;
DECLARE @ mesi TABELLA ( month_name VARCHAR ( 30) ) ;
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
2
iterare i mesi , aggiungendo i nomi dei mesi per la variabile di tabella utilizzando il DATENAME e funzioni DATEADD , ad esempio:
DECLARE @ iniziare DATETIME ; DECLARE @ end DATETIME ;
DECLARE @ mesi TABELLA ( month_name VARCHAR ( 30) ) ;
SET @ start = '2011 - 01-01 '; SET @ end =' 2011-12-01 ';
WHILE ( @ inizio < @ end ) BEGIN
INSERT INTO @ monthsSELECT DATENAME ( mese , @ start) ;
SET @ inizio = DateAdd ( mese , 1 , @ start) ;
FINE
3
Infine , selezionare l'elenco dei nomi dei mesi dalla variabile di tabella , ad esempio:
DECLARE @ DATETIME inizio ; DECLARE @ end DATETIME ;
DECLARE @ mesi TABELLA ( month_name VARCHAR ( 30) ) ;
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
WHILE ( @ inizio < @ end ) BEGIN
INSERT INTO @ monthsSELECT DATENAME ( mese , @ start) ;
< p > SET @ start = DateAdd ( mese , 1 , @ start) ;
END
SELECT * FROM @ mesi ;
Get nomi dei mesi in MySQL < br >
4
dichiarare l'inizio e le variabili di data di fine , e quindi creare una tabella temporanea per contenere i nomi dei mesi , ad esempio:
DECLARE @ DATETIME inizio ; DECLARE @ end DATETIME ;
TempMonths CREATE TEMPORARY TABLE ( month_name VARCHAR ( 30 ) ) ;
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
< br > 5
iterare i mesi , aggiungendo i nomi dei mesi per la tabella temporanea utilizzando il MonthName e funzioni DATE_ADD , ad esempio:
DECLARE @ DATETIME inizio ; DECLARE @ end DATETIME ;
CREATE TempMonths tabella temporanea ( month_name VARCHAR ( 30) ) ;
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
WHILE ( @ Start < @ end ) BEGIN
INSERT INTO TempMonthsSELECT MonthName ( @ start) ;
SET @ start = DATE_ADD ( @ start, INTERVAL 1 mese) ;
eND
6
Infine , selezionare l' elenco dei nomi dei mesi e di pulizia della tabella temporanea , ad esempio:
DECLARE @ DATETIME inizio ; DECLARE @ end DATETIME ;
CREATE TempMonths tabella temporanea ( month_name VARCHAR ( 30 ) ) ;
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
WHILE ( @ inizio < @ end ) BEGIN
INSERT INTO TempMonthsSELECT MonthName ( @ start) ;
SET @ start = DATE_ADD ( @ start, INTERVAL 1 mese) ;
eND
SELECT * FROM TempMonths ;
GOCCIA TempMonths tavola;