SQL Server 的 EOMONTH 是日期函数之一,用于显示给定日期的最后一个月。此 EOMONTH 函数允许您添加第二个参数(可选)来向前和向后移动。
SQL Server EOMONTH 函数的基本语法如下所示
EOMONTH (Date, Months to add)
日期:请指定有效日期。它可以是列数据、表达式或任何变量。
要添加的月份:这是一个可选参数。请指定您要移动的月份数
- 如果您将正整数指定为第二个参数(Number),则该函数将向前移动指定的月份数。并显示该月的最后一天。
- 如果您将负整数指定为第二个参数(Number),EOMONTH 函数将向后移动指定的月份数,并显示该月的最后一天。
SQL EOMONTH 示例
在此 SQL 示例中,我们将声明一个 datetime2 数据类型的变量。接下来,我们将查找该变量日期的最后一天(在一个月中)。
DECLARE @Date datetime2 = '2015-08-25 14:24:04.1234567'
SELECT @Date AS Today,
EOMONTH(@Date) AS [Last Day of this Month]

我们声明了一个名为 @Date 的变量,并将日期和时间赋给了该变量。
DECLARE @Date datetime2 = '2015-08-25 14:24:04.1234567'
以下语句中存在的 EOMONTH 函数将查找第 8 个月(即 8 月)的最后一天
EOMONTH(@Date) AS [Last Day of this Month]
SQL Server EOMONTH 结合正整数和负整数
在此 EOMONTH 示例中,我们将使用正整数和负整数作为第二个参数,向您展示相应期间的最后一天。
DECLARE @Date datetime2 = '2015-08-25 14:24:04.1234567'
SELECT @Date AS Today
, EOMONTH (@Date, 2) AS [Last Day]
, EOMONTH (@Date, -1) AS [Previous Month]

我们在 EOMONTH 函数中使用了两个参数,第二个参数是正整数。因此,以下语句将向前移动 2 个月。这意味着(8 + 2 = 10)EOMONTH 将查找第 10 个月(即 10 月)的最后一天。
EOMONTH(@Date, 2) AS [Last Day]
我们在 EOMONTH 函数中使用了两个参数,这次我们使用负整数作为第二个参数。因此,以下语句将向后移动 1 个月。这意味着(8 – 1 = 7)该函数将查找第 7 个月(即 7 月)的最后一天。
EOMONTH(@Date, -1) AS [Previous Month]
EOMONTH 示例 2
在此 日期函数 示例中,我们将使用自定义查询,并通过 EOMONTH 函数找出当前月份、上一个期间和下一个期间的最后一天。
SELECT [FirstName] + ' '+ [LastName] AS [Full Name]
,[Occupation]
,[YearlyIncome]
,[HireDate]
,EOMONTH([HireDate]) AS [This Month]
,EOMONTH([HireDate], 2) AS [Next Period]
,EOMONTH([HireDate], -2) AS [Previous Period]
FROM [Employee]

评论已关闭。