Freigeben über


EOMONTH (Transact-SQL)

Gibt den letzten Tag des Monats, der das angegebene Datum enthält, mit einem optionalen Versatz zurück.

Themenlink (Symbol) Transact-SQL-Syntaxkonventionen

Syntax

EOMONTH ( start_date [, month_to_add ] )

Argumente

  • start_date
    Datumsausdruck, der das Datum angibt, für das der letzte Tag des Monats zurückgegeben werden soll.

  • month_to_add
    Optionaler ganzzahliger Ausdruck, der die Anzahl der Monate angibt, die start_date hinzugefügt werden soll.

    Wenn dieses Argument angegeben wurde, fügt EOMONTH start_date die angegebene Anzahl von Monaten hinzu und gibt dann den letzten Tag des Monats für das resultierende Datum zurück. Wenn durch das Hinzufügen der gültige Datumsbereich überschritten wird, wird ein Fehler ausgegeben.

Rückgabetyp

date

Hinweise

Diese Funktion kann remote auf Servern mit SQL Server 2012 oder einer höheren Version ausgeführt werden. Sie kann nicht remote mit einer Version vor SQL Server 2012 ausgeführt werden.

Beispiele

A.EOMONTH mit explizitem datetime-Typ

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

Dies 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

Dies ist das Resultset.

Result
------------
2011-12-31

(1 row(s) affected)

C.EOMONTH mit und ohne den month_to_add-Parameter

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

Dies 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)