Как получить первый день недели и последний день недели в sql server 2008?



Как получить первый день недели и последний день недели, когда мы вводим любой один день недели?



Например, если мы вводим дату, то должны отображаться первый(понедельник) и последний (пятница) день.
то есть, если мы введем 24-jan-2014, то 20-jan-2014 и 24-jan-2014 должны отображаться.



С уважением

536   3  

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

    Ничего не найдено.