SQLserver获取本周、本月、本季、本年、第一天、最后一天
注:本周第一天为周一、最后一天为周日(七)
--本周第一天
select dateadd(WEEK, datediff(WEEK, 0, getdate()), 0);
--本周最后一天
select dateadd(WEEK, datediff(WEEK, 0, getdate()), 6);
--上周第一天
select dateadd(WEEK, datediff(WEEK, 0, getdate())-1, 0);
--上周最后一天
select dateadd(WEEK, datediff(WEEK, 0, getdate())-1, 6);
--本月第一天
select dateadd(month, datediff(month, 0, getdate()), 0);
--本月最后一天
select dateadd(month, datediff(month, -1, getdate()), -1);
--上月第一天
select DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE())-1, 0)
--上月最后一天
select DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE())-1, -1)
--本季第一天
select dateadd(QUARTER , datediff(QUARTER ,0, getdate()), 0);
--本季最后一天
select dateadd(QUARTER , datediff(QUARTER , -1, getdate()), -1);
--上季第一天
select dateadd(QUARTER , datediff(QUARTER ,0, getdate())-1, 0);
--上季最后一天
select dateadd(QUARTER , datediff(QUARTER , -1, getdate())-1, -1);
--本年第一天
select dateadd(year, datediff(year, 0, getdate()), 0);
--本年最后一天
select dateadd(year, datediff(year, -1, getdate()), -1);
--上年第一天
select dateadd(year, datediff(year, 0, getdate()), 0);
--上年最后一天
select dateadd(year, datediff(year, 0, getdate()), -1);
原文链接:https://blog.csdn.net/okakio/article/details/112462682