SQL Server函数EOMONTH返回包含指定日期所在月份的最后一天

1、本文内容

  • 语法
  • 参数
  • 返回类型
  • 注解
  • 示例

适用于:

  • SQL Server
  • Azure SQL 数据库
  • Azure SQL 托管实例
  • Azure Synapse Analytics
  • Analytics Platform System (PDW)

此函数返回包含指定日期所在月份的最后一天(具有可选偏移量)
在 SQL Server 2022(16.x)及更高版本中,可以使用 DATETRUNC 计算月份的开始时间。
具体请查看我的这篇 文章
https://blog.csdn.net/zxrhhm/article/details/140699765?spm=1001.2014.3001.5501

参考官方文档地址
https://learn.microsoft.com/en-us/sql/t-sql/functions/eomonth-transact-sql?view=sql-server-ver16

2、语法

EOMONTH ( start_date [ , month_to_add ] )

3、参数

  • start_date
    日期表达式,指定要为其返回该月的最后一天的日期。

  • month_to_add
    可选的整数表达式,指定要加到 start_date 的月份数。

如果 month_to_add 参数具有值,则 EOMONTH 向 start_date 添加指定月份数,然后返回结果日期所在月份的最后一天 。 如果此加法溢出有效日期范围,则 EOMONTH 引发错误。

4、返回类型

date

5、注解

该 EOMONTH 函数可以远程连接到运行 SQL Server 2012(11.x)及更高版本的实例。 它不能远程连接到 SQL Server 2012(11.x)之前的版本实例。

6、示例

6.1、具有显式 datetime 类型的 EOMONTH

DECLARE @date DATETIME = '12/1/2024';

SELECT EOMONTH(@date) AS Result;
GO

Result
----------
2024-07-31

(1 行受影响)

6.2、具有字符串参数与隐式转换的 EOMONTH


DECLARE @date VARCHAR(255) = '2024-07-27';

SELECT EOMONTH(@date) AS Result;
GO

Result
----------
2024-07-31

(1 行受影响)

6.3、具有和不具有 month_to_add 参数的 EOMONTH

以下结果集中显示的值反映了执行日期范围 2024-07-31 到 2024-08-31(含这两个日期)。

DECLARE @date DATETIME = '2024-07-27';

SELECT EOMONTH(@date) AS 'This Month';
SELECT EOMONTH(@date, 1) AS 'Next Month';
SELECT EOMONTH(@date, -1) AS 'Last Month';
GO

下面是执行结果集

This Month
----------
2024-07-31

(1 行受影响)

Next Month
----------
2024-08-31

(1 行受影响)

Last Month
----------
2024-06-30

(1 行受影响)
  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值