SqlServer 日期处理函数详解

概述

SqlServer 提供了强大的日期处理函数,帮助开发者高效处理日期和时间数据。将介绍几种常用的日期函数,附带实例讲解。

常用日期处理函数

  1. 获取一个月的第一天
  2. 函数DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0)
  3. 描述:返回当前日期所在月的第一天。
  4. 示例:如当前日期为 2023-10-15,结果为 2023-10-01。

  5. 获取本周的星期一

  6. 函数DATEADD(wk, DATEDIFF(wk, 0, GETDATE()), 0)
  7. 描述:返回当前日期所在周的第一天(周一)。
  8. 示例:如当前日期为 2023-10-12(周四),结果为 2023-10-09。

  9. 获取一年的第一天

  10. 函数DATEADD(yy, DATEDIFF(yy, 0, GETDATE()), 0)
  11. 描述:返回当前日期所在年的第一天。
  12. 示例:如当前日期为 2023-10-12,结果为 2023-01-01。

  13. 获取季度的第一天

  14. 函数DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0)
  15. 描述:返回当前日期所在季度的第一天。
  16. 示例:如当前日期为 2023-10-12,结果为 2023-07-01。

  17. 获取当天的半夜

  18. 函数DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0)
  19. 描述:返回当前日期的零点时刻。
  20. 示例:如当前日期为 2023-10-12 15:30,结果为 2023-10-12 00:00。

  21. 获取上个月的最后一天

  22. 函数DATEADD(ms, -3, DATEADD(mm, DATEDIFF(mm, 0, GETDATE()), 0))
  23. 描述:返回前一个月的最后一天。
  24. 示例:如当前日期为 2023-10-12,结果为 2023-09-30。

  25. 获取去年的最后一天

  26. 函数DATEADD(ms, -3, DATEADD(yy, DATEDIFF(yy, 0, GETDATE())
  27. 描述:返回上一年最后一天。