EOMONTH (Transact-SQL)

Применимо к:SQL Server База данных SQL Azure Управляемый экземпляр SQL Azure Azure Synapse Analytics AnalyticsPlatform System (PDW)

Эта функция возвращает последний день месяца, содержащего указанную дату, с необязательным смещением.

Совет

Для вычисления начала месяца можно использовать DATETRUNC .

Соглашения о синтаксисе Transact-SQL

Синтаксис

EOMONTH ( start_date [ , month_to_add ] )

Примечание.

Сведения о синтаксисе Transact-SQL для SQL Server 2014 (12.x) и более ранних версиях см . в документации по предыдущим версиям.

Аргументы

start_date

Выражение даты, задающее дату, для которой необходимо возвратить последний день месяца.

month_to_add

Необязательное целочисленное выражение, задающее количество месяцев, добавляемых к параметру start_date.

Если аргумент month_to_add имеет значение, то EOMONTH добавляет указанное число месяцев к значению start_date и возвращает последний день месяца, соответствующего полученной дате. Если это дополнение переполнено допустимым диапазоном дат, возникает EOMONTH ошибка.

Типы возвращаемых данных

date

Замечания

Функция EOMONTH может удалена к экземплярам под управлением SQL Server 2012 (11.x) и более поздних версий. Он не может удаленно использовать экземпляры с версией до SQL Server 2012 (11.x).

Примеры

А. EOMONTH с явным типом datetime

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

Результирующий набор:

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

(1 row(s) affected)

B. EOMONTH со строковым параметром и неявным преобразованием

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

Результирующий набор:

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

(1 row(s) affected)

C. Функция EOMONTH с параметром month_to_add и без него

Значения в этих результирующих наборах отражают дату выполнения между 12/01/2022 и 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

Результирующий набор:

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)