EOMONTH (Transact-SQL)

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Cette fonction retourne le dernier jour du mois contenant une date spécifiée, avec un décalage facultatif.

Conseil

Vous pouvez utiliser DATETRUNC pour calculer le début du mois.

Conventions de la syntaxe Transact-SQL

Syntaxe

EOMONTH ( start_date [ , month_to_add ] )

Remarque

Pour afficher la syntaxe Transact-SQL pour SQL Server 2014 (12.x) et versions antérieures, consultez la Documentation sur les versions antérieures.

Arguments

start_date

Expression de date qui spécifie la date pour laquelle retourner le dernier jour du mois.

month_to_add

Expression entière facultative qui spécifie le nombre de mois à ajouter à start_date.

Si l’argument month_to_add a une valeur, EOMONTH ajoute le nombre spécifié de mois à start_date, puis retourne le dernier jour du mois de la date résultante. Si cet ajout dépasse la plage de dates valide, génère EOMONTH une erreur.

Types de retour

date

Notes

La EOMONTH fonction peut être distante des instances exécutant SQL Server 2012 (11.x) et versions ultérieures. Elle ne peut pas être distante des instances avec une version antérieure à SQL Server 2012 (11.x).

Exemples

R. EOMONTH avec type datetime explicite

DECLARE @date DATETIME = '12/1/2022';
SELECT EOMONTH ( @date ) AS Result;
GO

Voici le jeu de résultats obtenu.

Result
------------
2022-12-31

(1 row(s) affected)

B. EOMONTH avec paramètre de chaîne et conversion implicite

DECLARE @date VARCHAR(255) = '12/1/2022';
SELECT EOMONTH ( @date ) AS Result;
GO

Voici le jeu de résultats obtenu.

Result
------------
2022-12-31

(1 row(s) affected)

C. EOMONTH avec et sans le paramètre month_to_add

Les valeurs indiquées dans ces jeux de résultats reflètent une date d’exécution inclusivement entre le 12/01/2022 et le 12/31/2022.

DECLARE @date DATETIME = GETDATE();
SELECT EOMONTH ( @date ) AS 'This Month';
SELECT EOMONTH ( @date, 1 ) AS 'Next Month';
SELECT EOMONTH ( @date, -1 ) AS 'Last Month';
GO

Voici le jeu de résultats obtenu.

This Month
-----------------------
2022-12-31

(1 row(s) affected)

Next Month
-----------------------
2022-01-31

(1 row(s) affected)

Last Month
-----------------------
2022-11-30

(1 row(s) affected)