Comment faire pour obtenir les noms de mois entre deux dates dans SQL

May 22

Comment faire pour obtenir les noms de mois entre deux dates dans SQL


Obtenir les noms des mois dans une plage de dates est une tâche beaucoup moins compliqué qu'il peut d'abord apparaître, même si elle peut être faite de façon légèrement différente en fonction de la saveur de SQL que vous utilisez. Avec T-SQL, il peut être fait avec la fonction DATENAME et une variable de table, tandis que MySQL vous pouvez utiliser la fonction MONTHNAME et une table temporaire.

Instructions

Obtenez Mois noms dans T-SQL

1 Déclarez la date de début et la date de fin variables, ainsi qu'une variable de table pour maintenir temporairement les noms de mois; par exemple:

DECLARE @Start DATETIME;
DECLARE @end DATETIME;

DECLARE @months TABLE (MONTH_NAME VARCHAR (30));

SET @Start = '2011-01-01';
SET @end = '2011-12-01';

2 Itérer à travers les mois, en ajoutant les noms de mois à la variable de table en utilisant le DATENAME et les fonctions DATEADD; par exemple:

DECLARE @Start DATETIME;
DECLARE @end DATETIME;

DECLARE @months TABLE (MONTH_NAME VARCHAR (30));

SET @Start = '2011-01-01';
SET @end = '2011-12-01';

WHILE (@Start <@end)
COMMENCER

INSERT INTO @months
SELECT DATENAME(month, @start);

SET @Start = DATEADD (mois, 1, @Start);

FIN

3 Enfin, sélectionnez la liste des noms des mois de la variable de table; par exemple:

DECLARE @Start DATETIME;
DECLARE @end DATETIME;

DECLARE @months TABLE (MONTH_NAME VARCHAR (30));

SET @Start = '2011-01-01';
SET @end = '2011-12-01';

WHILE (@Start <@end)
COMMENCER

INSERT INTO @months
SELECT DATENAME(month, @start);

SET @Start = DATEADD (mois, 1, @Start);

FIN

SELECT * FROM @months;

Obtenez Mois noms dans MySQL

4 Déclarez les variables de date début et de fin, puis créer une table temporaire pour contenir les noms de mois; par exemple:

DECLARE @Start DATETIME;
DECLARE @end DATETIME;

CREATE TABLE TempMonths TEMPORAIRES (MONTH_NAME VARCHAR (30));

SET @Start = '2011-01-01';
SET @end = '2011-12-01';

5 Itérer à travers les mois, en ajoutant les noms de mois à la table temporaire en utilisant le MONTHNAME et les fonctions DATE_ADD; par exemple:

DECLARE @Start DATETIME;
DECLARE @end DATETIME;

CREATE TABLE TempMonths TEMPORAIRES (MONTH_NAME VARCHAR (30));

SET @Start = '2011-01-01';
SET @end = '2011-12-01';

WHILE (@Start <@end)
COMMENCER

INSERT INTO TempMonths
SELECT MONTHNAME(@start);

SET @Start = DATE_ADD (@Start, INTERVALLE 1 MOIS);

FIN

6 Enfin, sélectionnez la liste des noms des mois et le nettoyage de la table temporaire; par exemple:

DECLARE @Start DATETIME;
DECLARE @end DATETIME;

CREATE TABLE TempMonths TEMPORAIRES (MONTH_NAME VARCHAR (30));

SET @Start = '2011-01-01';
SET @end = '2011-12-01';

WHILE (@Start <@end)
COMMENCER

INSERT INTO TempMonths
SELECT MONTHNAME(@start);

SET @Start = DATE_ADD (@Start, INTERVALLE 1 MOIS);

FIN

SELECT * FROM TempMonths;

DROP TempMonths TABLE;


          

Post a comment: