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