Поделиться через


EOMONTH (Transact-SQL)

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

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

Совет

В SQL Server 2022 (16.x) и более поздних версиях можно использовать DATETRUNC для вычисления начала месяца.

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

Синтаксис

EOMONTH ( start_date [ , month_to_add ] )

Аргументы

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/2024';

SELECT EOMONTH(@date) AS Result;
GO

Вот результирующий набор.

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

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

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

SELECT EOMONTH(@date) AS Result;
GO

Вот результирующий набор.

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

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

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

Вот результирующий набор.

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

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

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