SqlServer 日期处理函数详解
概述
SqlServer 提供了强大的日期处理函数,帮助开发者高效处理日期和时间数据。将介绍几种常用的日期函数,附带实例讲解。
常用日期处理函数
- 获取一个月的第一天
- 函数:
DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)
- 描述:返回当前日期所在月的第一天。
-
示例:如当前日期为 2023-10-15,结果为 2023-10-01。
-
获取本周的星期一
- 函数:
DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0)
- 描述:返回当前日期所在周的第一天(周一)。
-
示例:如当前日期为 2023-10-12(周四),结果为 2023-10-09。
-
获取一年的第一天
- 函数:
DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
- 描述:返回当前日期所在年的第一天。
-
示例:如当前日期为 2023-10-12,结果为 2023-01-01。
-
获取季度的第一天
- 函数:
DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0)
- 描述:返回当前日期所在季度的第一天。
-
示例:如当前日期为 2023-10-12,结果为 2023-07-01。
-
获取当天的半夜
- 函数:
DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0)
- 描述:返回当前日期的零点时刻。
-
示例:如当前日期为 2023-10-12 15:30,结果为 2023-10-12 00:00。
-
获取上个月的最后一天
- 函数:
DATEADD(ms, -3, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0))
- 描述:返回前一个月的最后一天。
-
示例:如当前日期为 2023-10-12,结果为 2023-09-30。
-
获取去年的最后一天
- 函数:
DATEADD(ms, -3, DATEADD(yy, DATEDIFF(yy, 0, GETDATE())
- 描述:返回上一年最后一天。