EOMONTH (Transact-SQL)
Gilt für:SQL Server
Azure SQL-Datenbank
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Diese Funktion gibt den letzten Tag des Monats, der das angegebene Datum enthält, mit einer optionalen Abweichung zurück.
Transact-SQL-Syntaxkonventionen
Syntax
EOMONTH ( start_date [, month_to_add ] )
Hinweis
Informationen zum Anzeigen der Transact-SQL-Syntax für SQL Server 2014 oder früher finden Sie unter Dokumentation zu früheren Versionen.
Argumente
start_date
Ein Datumsausdruck, der das Datum angibt, für das der letzte Tag des Monats zurückgegeben werden soll.
month_to_add
Ein optionaler ganzzahliger Ausdruck, der die Anzahl der Monate angibt, die zu start_date hinzugefügt werden sollen.
Wenn das Argument month_to_add über einen Wert verfügt, fügt EOMONTH
die angegebene Anzahl von Monaten zu start_date hinzu und gibt dann den letzten Tag des Monats für das sich ergebende Datum zurück. Wenn das Hinzufügen der gültigen Datumsbereiche einen Überlauf verursacht, löst EOMONTH
einen Fehler aus.
Rückgabetyp
date
Bemerkungen
Die Funktion EOMONTH
kann auf SQL Server 2012 (11.x)-Servern und höher remote ausgeführt werden. Sie kann nicht auf Servern mit einer niedrigeren Version als SQL Server 2012 (11.x) remote ausgeführt werden.
Beispiele
A. EOMONTH mit explizitem datetime-Typ
DECLARE @date DATETIME = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO
Hier ist das Resultset.
Result
------------
2011-12-31
(1 row(s) affected)
B. EOMONTH mit Zeichenfolgenparameter und impliziter Konvertierung
DECLARE @date VARCHAR(255) = '12/1/2011';
SELECT EOMONTH ( @date ) AS Result;
GO
Hier ist das Resultset.
Result
------------
2011-12-31
(1 row(s) affected)
C. EOMONTH mit und ohne den month_to_add-Parameter
Die in diesen Resultsets gezeigten Werte stellen ein Ausführungsdatum zwischen 12/01/2011
und 12/31/2011
einschließlich dar.
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
Hier ist das Resultset.
This Month
-----------------------
2011-12-31
(1 row(s) affected)
Next Month
-----------------------
2012-01-31
(1 row(s) affected)
Last Month
-----------------------
2011-11-30
(1 row(s) affected)