Komme navnene på månedene i et datointervall er en mye mindre komplisert oppgave enn det første vises , selv om det kan gjøres på litt forskjellige måter avhengig av smaken av SQL deg bruker. Med T -SQL det kan gjøres med DATENAME funksjon og en tabell variabel , mens med MySQL du ville bruke MONTHNAME funksjon og en midlertidig tabell . Instruksjoner
Få Måned navn i T -SQL
en
Erklærer startdato og sluttdato variabler , samt en tabell variabel å midlertidig holde månedsnavn , for eksempel:
< p> ERKLÆRER @ start DATETIME , erklærer @ end DATETIME ;
erklærer @ måneder TABLE ( MONTH_NAME VARCHAR ( 30 ));
SET @ start = '2011 -01- 01 ' ; SET @ end = '2011 - 12-01 ';
2
Iterate gjennom månedene , og legger måneden navnene til bordet variabel med bruk av DATENAME og DateAdd funksjoner, for eksempel : en
DECLARE @ starte DATETIME , erklærer @ end DATETIME ;
erklærer @ måneder TABLE ( MONTH_NAME VARCHAR ( 30 ));
SET @ start = '2011 - 01-01 '; SET @ end =' 2011-12-01 ';
MENS ( @ start < @ end) BEGIN
INSERT INTO @ monthsSELECT DATENAME (måned, @ start) ;
SET @ start = DateAdd (måned, 1 , @ start) ;
END
3
slutt velger listen over månedsnavn fra bordet variabel, for eksempel:
erklærer @ start DATETIME , erklærer @ end DATETIME ;
erklærer @ måneder TABLE ( MONTH_NAME VARCHAR ( 30 ));
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
MENS ( @ start < @ end) BEGIN
INSERT INTO @ monthsSELECT DATENAME (måned, @ start) ;
< p > SET @ start = DateAdd (måned, 1 , @ start) ;
END
SELECT * FROM @ måneder,
Få måned navn i MySQL
4
Erklærer start-og sluttdato variabler , og deretter opprette en midlertidig tabell for å holde månedsnavn , for eksempel : en
erklærer @ start DATETIME , erklærer @ end DATETIME ;
CREATE midlertidige tabellen TempMonths ( MONTH_NAME VARCHAR ( 30 ) ) ;
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
5
Iterate gjennom månedene , og legger måneden navn til den midlertidige tabellen ved hjelp av MONTHNAME og DATE_ADD funksjoner, for eksempel : en
erklærer @ start DATETIME , erklærer @ end DATETIME ;
CREATE midlertidige tabellen TempMonths ( MONTH_NAME VARCHAR ( 30 ));
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
MENS ( @ starte < @ end) BEGIN
INSERT INTO TempMonthsSELECT MONTHNAME ( @ start) ;
SET @ start = DATE_ADD ( @ start , intervall 1 måned) ;
eND
6
slutt velger listen over måneden navn og opprydding den midlertidige tabellen , for eksempel : en
erklærer @ start DATETIME , erklærer @ end DATETIME ;
CREATE midlertidig tabell TempMonths ( MONTH_NAME VARCHAR ( 30 ) ) ;
SET @ start = '2011 - 01-01 '; SET @ end = '2011 - 12-01 ';
MENS ( @ start < @ end) BEGIN
INSERT INTO TempMonthsSELECT MONTHNAME ( @ start) ;
SET @ start = DATE_ADD ( @ start , intervall 1 måned) ;
eND
SELECT * FROM TempMonths ;
DROP TABLE TempMonths ;