2015-09-07 2 views
1

Im ищет способ, если пользователь выбираетФорвардные зависимости @startdate @ EndDate = @ StartDate + 1 неделя

@startdate = '12-01-2015' 
then 
@enddate = @startdate + 1 Week 

это для моего параметра, но, пожалуйста, знать мой доклад представляет собой матрицу и использует каждую неделю для выборки данных, так что параметр должен автоматически выбрать его ENDDATE из всех StartDates выбранного

т.е.

StartDates в ('12 -01-2015' , '19 -01-2015')

затем endate в ('18 -01-2015' , '26 -01-2015')

это то, что им с помощью моего параметра STARTDATE

select distinct 
CAST(startdate AS DATE) as Startdate 
FROM [Calendar] 
where DatePart(YEAR,startdate) >= 2014 
order by 1 asc 
+0

'DATEADD (неделя, 1, @ StartDate)' –

ответ

0

Использование DATEADD

@startdate = '12-01-2015' 
then 
@enddate = DATEADD(wk, 1, @startdate) 

или если StartDate переменная имеет тип DATE/DATETIME

@startdate = '12-01-2015' 
then 
@enddate = @startdate + 7; -- Implicit cast add 7 days 

EDIT:

select distinct 
    CAST(startdate AS DATE) as Startdate, 
    DATEADD(wk, 1, CAST(startdate AS DATE)) as EndDate 
FROM [Calendar] 
where DatePart(YEAR,startdate) >= 2014 
order by 1 asc 
+0

как я пишу это, как выбрать для моего параметра как StartDate обыкновение быть заранее определены таким образом, пользователь должен выбрать StartDate т.е. можете ли вы написать мне заявление о выборе, которое добавит 7 дней на любую дату, отправленную в {@startdate} – Cladback

+0

@Cladback См. мой обновленный ответ – lad2025

+0

Приветствия bro appriciate ваше время – Cladback

Смежные вопросы