SQL Server 获取最后一天(指定时间的月最后一天日期)

复制代码
 1 /*
 2     author    OceanHo @ 2015-10-23 10:14:21
 3     获取指定时间字符串指定日期的月最后一天日期
 4 */
 5 IF OBJECT_ID('get_LastDayDate') IS NOT NULL
 6     DROP FUNCTION get_LastDayDate
 7 GO
 8 
 9 CREATE FUNCTION get_LastDayDate(@dateString NVARCHAR(25))
10     RETURNS DATETIME
11 AS
12 BEGIN
13     
14     SELECT @dateString = 
15     DATEADD(
16         /** 将参数3指定的时间加上参数2的天数 **/
17         DAY,
18 
19         /** 
20             例如:@dateString = 2015-10-23 23:59:59
21             获取 @dateString 的时间 天 部分,因为第三个参数,把@dateString加了一个月,得到的时间就是 2015-11-23 23:59:59
22             这个时间的 DAY 部分,也就是 23 就是下个月 1-23号的天数,第三个参数 减去 这个天数,得到的就是前一个月的最后一天  
23         **/
24         -(DATEPART(DAY,@dateString)),
25 
26         /* 将@date 加上一个月,得到的就是下个月的今天的具体时间 */
27         DATEADD(MONTH,1,@dateString)
28     )
29     RETURN @dateString
30 END
31 
32 GO
33 
34 -- 测试调用
35 SELECT dbo.get_LastDayDate(GETDATE()) AS 本月最后一天日期
36 
37 
38 SELECT dbo.get_LastDayDate(N'2015-02-05') AS 二月份最后一天日期
复制代码

 

posted on   oceanho  阅读(4171)  评论(0编辑  收藏  举报

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示