EOMONTH (Transact-SQL)
适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例Azure Synapse AnalyticsAnalytics Platform System (PDW)
此函数返回包含指定日期所在月份的最后一天(具有可选偏移量)。
提示
可以使用 DATETRUNC 计算月份的开始时间。
语法
EOMONTH ( start_date [ , month_to_add ] )
注意
若要查看 SQL Server 2014 (12.x) 及更早版本的 Transact-SQL 语法,请参阅早期版本文档。
参数
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/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. 具有和不具有 month_to_add 参数的 EOMONTH
以下结果集中显示的值反映了执行日期范围 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)
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈