【问题标题】:Get Weeks start date when week start is different year and week end is different year当周开始不同的年份和周末不同的年份时获取周开始日期
【发布时间】:2013-12-30 17:47:48
【问题描述】:
今天是 2013 年 12 月 30 日,在我的 sql server 中,周从星期日开始。平均周从 2013 年 12 月 29 日开始
周末结束日期是 2014 年 4 月 1 日星期六。
我想要使用结束日期 4-1-2014 的星期开始日期。当日期是不同年份的两个时,有什么方法可以找到星期开始日期。
当年份相同时,我得到了一周的开始日期和结束日期。但是我想要两个年份不同的星期开始日期。
【问题讨论】:
标签:
sql-server-2005
sql-server-2008-r2
【解决方案1】:
只减去结束日期的天数,例如:
SELECT GETDATE() - 7
如果将 GETDATE() 替换为日期时间列或 @VARIABLE,则添加 (+/-) 天数相同
【解决方案2】:
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 ║
╚════════════╩════════════╝