Teilen über


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.

Tipp

In SQL Server 2022 (16.x) und höheren Versionen können Sie DATETRUNC verwenden, um den Anfang des Monats zu berechnen.

Transact-SQL-Syntaxkonventionen

Syntax

EOMONTH ( start_date [ , month_to_add ] )

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 diese Addition den gültigen Datumsbereich überläuft, EOMONTH wird ein Fehler ausgelöst.

Rückgabetypen

date

Hinweise

Die EOMONTH Funktion kann remote zu Instanzen mit SQL Server 2012 (11.x) und höheren Versionen führen. Es kann keine Remoteverbindung mit Instanzen mit einer Version vor SQL Server 2012 (11.x) herstellen.

Beispiele

A. EOMONTH mit explizitem datetime-Typ

DECLARE @date DATETIME = '12/1/2024';

SELECT EOMONTH(@date) AS Result;
GO

Hier sehen Sie das Ergebnis.

Result
------------
2024-12-31

B. EOMONTH mit Zeichenfolgenparameter und impliziter Konvertierung

DECLARE @date VARCHAR(255) = '12/1/2024';

SELECT EOMONTH(@date) AS Result;
GO

Hier sehen Sie das Ergebnis.

Result
------------
2024-12-31

C. EOMONTH mit und ohne den month_to_add-Parameter

Die in diesen Resultsets gezeigten Werte stellen ein Ausführungsdatum zwischen 12/01/2024 und 12/31/2024 einschließlich dar.

DECLARE @date DATETIME = '2024-12-31';

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

Hier sehen Sie das Ergebnis.

This Month
-----------------------
2024-12-31

Next Month
-----------------------
2025-01-31

Last Month
-----------------------
2024-11-30