Udostępnij za pomocą


EOMONTH (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Database w Microsoft Fabric

Funkcja ta zwraca ostatni dzień miesiąca zawierający określoną datę, z opcjonalnym przesunięciem.

Wskazówka

W SQL Server 2022 (16.x) i późniejszych wersjach możesz użyć DATETRUNC do obliczenia początku miesiąca.

Transact-SQL konwencje składni

Składnia

EOMONTH ( start_date [ , month_to_add ] )

Arguments

start_date

Wyrażenie daty, które określa datę, dla której zwracać ostatni dzień miesiąca.

month_to_add

Opcjonalne wyrażenie całkowite określające liczbę miesięcy do dodania do start_date.

Jeśli argument month_to_add ma wartość, EOMONTH dodaje określoną liczbę miesięcy do start_date, a następnie zwraca ostatni dzień miesiąca jako datę otrzymaną. Jeśli to dodanie przekroczy ważny zakres dat, EOMONTH pojawia się błąd.

Typy zwracane

date

Uwagi

Funkcja może EOMONTH zdalnie obsługiwać instancje działające na SQL Server 2012 (11.x) i nowsze wersje. Nie może zdalnie łączyć się z instancjami z wersją sprzed SQL Server 2012 (11.x).

Przykłady

A. EOMONTH z wyraźnym typem daty i czasu

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

SELECT EOMONTH(@date) AS Result;
GO

Oto zestaw wyników.

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

B. EOMONTH z parametrem ciągu i konwersją niejawną

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

SELECT EOMONTH(@date) AS Result;
GO

Oto zestaw wyników.

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

C. EOMONTH z parametrem month_to_add i bez niego

Wartości pokazane w tych zbiorach wyników odzwierciedlają datę wykonania pomiędzy a wliczając 12/01/2024 do .12/31/2024

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

Oto zestaw wyników.

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

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

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