Как получить первый день недели и последний день недели в sql server 2008?
Как получить первый день недели и последний день недели, когда мы вводим любой один день недели?
Например, если мы вводим дату, то должны отображаться первый(понедельник) и последний (пятница) день.
то есть, если мы введем 24-jan-2014, то 20-jan-2014 и 24-jan-2014 должны отображаться.
С уважением
3 ответов:
Вот как это можно сделать:
DECLARE @yourdate date = getdate() Select dateadd(ww, datediff(ww, 0, @yourdate), 0) Select dateadd(ww, datediff(ww, 0, @yourdate), 4)Вы устанавливаете
@yourdateна нужную дату. Первый выбор даст вам первый день, а второй выбор даст вам последнюю дату
Это решает ее, а также оборачивается вокруг конца года:
Выберите DATEADD (wk, DATEDIFF(d, 0, '01 января 2017') / 7, 0)
Попробуйте это
SELECT DATEADD(wk, DATEDIFF(wk, 6, '5/13/2005'), 6) SELECT DATEADD(wk, DATEDIFF(wk, 5, '5/13/2005'), 5)(или)
Declare @Date datetime Det @Date = '2012-04-12' Delect @Date - DATEPART(dw, @Date) + 1 FirstDateOfWeek, @Date + (7 - DATEPART(dw, @Date)) LastDateOfWeek
Comments