EOMONTH (Transact-SQL)
适用于:SQL Server Azure SQL 数据库 Azure SQL 托管实例 Azure Synapse Analytics Analytics Platform System (PDW)
此函数返回包含指定日期所在月份的最后一天(具有可选偏移量)。
提示
在 SQL Server 2022(16.x)及更高版本中,可以使用 DATETRUNC 计算月份的开始时间。
语法
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)之前的版本实例。
示例
A. 具有显式 datetime 类型的 EOMONTH
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
°C 具有和不具有 month_to_add 参数的 EOMONTH
以下结果集中显示的值反映了执行日期范围 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