Het verkrijgen van de namen van de maanden in een datumbereik is een veel minder gecompliceerde taak dan het eerst lijkt , hoewel het kan worden gedaan op een iets andere wijze , afhankelijk van de smaak van sql u gebruikt . Met T - SQL kan worden gedaan met de DATENAME functie en een tabel variabele , terwijl met MySQL zou je het MONTHNAME functie en een tijdelijke tabel gebruiken . Instructies Krijg Maand Namen in T - SQL 1 Verklaar de begindatum en einddatum variabelen , alsmede een tabel variabele om tijdelijk de namen maand te houden , bijvoorbeeld: DECLARE @ start DATETIME ; VERKLAREN @ eind DATETIME ; DECLARE @ maanden TAFEL ( MONTH_NAME VARCHAR ( 30 ) ) ; SET @ start = '2011 - 01-01 ' ; SET @ end = '2011 - 12-01 ' ; kopen van 2 Doorloop de maanden , het toevoegen van de namen maand om de tafel variabele met de DATENAME en DATEADD functies , bijvoorbeeld : DECLARE @ start DATETIME ; VERKLAREN @ eind DATETIME ; DECLARE @ maanden TAFEL ( MONTH_NAME VARCHAR ( 30 ) ) ; SET @ start = '2011 - 01-01 ' ; SET @ end = ' 2011-12-01 ' ; TERWIJL ( @ start < @ end ) BEGIN INSERT INTO @ monthsSELECT DATENAME ( maand , @ start ) ; SET @ start = DATEADD ( maand , 1 , @ start ) ; END 3 Tenslotte SELECT de lijst van de maand namen uit de tabel variabele , bijvoorbeeld: DECLARE @ start DATETIME ; VERKLAREN @ eind DATETIME ; DECLARE @ maanden TAFEL ( MONTH_NAME VARCHAR ( 30 ) ) ; SET @ start = '2011 - 01-01 ' ; SET @ end = '2011 - 12-01 ' ; TERWIJL ( @ start < @ end ) BEGIN INSERT INTO @ monthsSELECT DATENAME ( maand , @ start ) ; SET @ start = DATEADD ( maand , 1 , @ start ) ; END SELECT * FROM @ maanden ; Krijg maand Namen in MySQL < br > Goedkope 4 Verklaar het begin-en einddatum variabelen , en maak vervolgens een tijdelijke tabel om de namen maand te houden , bijvoorbeeld : DECLARE @ start DATETIME ; vERKLAREN @ eind DATETIME ; CREATE TIJDELIJKE TAFEL TempMonths ( MONTH_NAME VARCHAR ( 30 ) ) ; SET @ start = '2011 - 01-01 ' ; SET @ end = '2011 - 12-01 ' ; < br > 5 Doorloop de maanden , het toevoegen van de namen maand om de tijdelijke tabel met de MONTHNAME en DATE_ADD functies , bijvoorbeeld : DECLARE @ start DATETIME ; VERKLAREN @ eind DATETIME ; CREATE tijdelijke tabel TempMonths ( MONTH_NAME VARCHAR ( 30 ) ) ; SET @ start = '2011 - 01-01 ' ; SET @ end = '2011 - 12-01 ' ; TERWIJL ( @ begin < @ end ) BEGIN INSERT INTO TempMonthsSELECT MONTHNAME ( @ start ) ; SET @ start = DATE_ADD ( @ start , INTERVAL 1 MAAND ) ; eND 6 Tenslotte SELECT de lijst van de maand namen en opruimen van de tijdelijke tabel , bijvoorbeeld: DECLARE @ start DATETIME ; VERKLAREN @ eind DATETIME ; MAKEN TIJDELIJKE TAFEL TempMonths ( MONTH_NAME VARCHAR ( 30 ) ) ; SET @ start = '2011 - 01-01 ' ; SET @ end = '2011 - 12-01 ' ; TERWIJL ( @ start < @ end ) BEGIN INSERT INTO TempMonthsSELECT MONTHNAME ( @ start ) ; SET @ start = DATE_ADD ( @ start , INTERVAL 1 MAAND ) ; eND < br SELECT * > FROM TempMonths ; DROP TABLE TempMonths ;
|