获取周开始日期,当周开始是不同的年份,而周末是不同的年份

时间:2013-12-30 17:47:49

标签: sql-server-2005 sql-server-2008-r2

今天是2013年12月30日,在我的sql server周从星期日开始。它意味着一周开始29-12-2013 周结束日期是2014年1月4日星期六。

我想要使用结束日期4-1-2014的星期开始日期。有没有办法找到不同年份的日期为2的星期开始日期。

我得到了星期相同的星期开始日期和结束日期。但是我想要两个年份不同的星期开始日期。

2 个答案:

答案 0 :(得分:1)

只是将结束日期减去日期,例如:

 SELECT GETDATE() - 7

如果您使用DATETIME列或@VARIABLE替换GETDATE(),则添加(+/-)DAYS是相同的

答案 1 :(得分:1)

DECLARE @date DATE; 
SET @date = '20140104';

SELECT DATEADD(dd, -(DATEPART(dw, @date)-1), @date) [Week Start],
       DATEADD(dd, 7-(DATEPART(dw, @date)), @date) [WeekEnd]

<强>结果

╔════════════╦════════════╗
║ Week Start ║  WeekEnd   ║
╠════════════╬════════════╣
║ 2013-12-29 ║ 2014-01-04 ║
╚════════════╩════════════╝