生成几个特殊的日期

SELECT DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0) AS 本年的第一天,
       DATEADD(DAY, -1, DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()) + 1, 0)) AS 本年最后一天,
       DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()), 0) AS 本周的第一天,
       DATEADD(DAY, -1, DATEADD(WEEK, DATEDIFF(WEEK, 0, GETDATE()) + 1, 0)) AS 本周的最后一天,
       DATEADD(QUARTER, DATEDIFF(QUARTER, 0, GETDATE()), 0) AS 本季度的第一天,
       DATEADD(DAY, -1, DATEADD(QUARTER, DATEDIFF(QUARTER, 0, GETDATE()) + 1, 0)) AS 本季度最后一天,
       DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0) AS 本月的第一天,
       DATEADD(DAY, -1, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) + 1, 0)) AS 本月最后一天;

原文地址:https://www.cnblogs.com/felix22/p/11963044.html