2014-11-19 1 views
0

Для интервала даты x (@startDate) и y (@endDate). Я хочу, чтобы иметь возможность увеличиваться в следующую пятницу до @endDate.Найти все пятницы (приращение к следующей пятнице) в интервале дат

Псевдо-код INIT CurrentDate не STARTDATE

Loop до ENDDATE

набор CurrentDate в следующую пятницу

конец петли

Я попытался это:

set datefirst 5 /* Friday */ 
CASE 
WHEN DATEPART(cdw, @currentDate) = @@datefirst THEN DATEADD(dd, 7, @currentDate) 
ELSE DATEADD(dd, (@@datefirst + (DATEPART(cdw,@currentDate))) % 7, @currentDate) 
END 

Это не работает ...

+0

вы хотите найти пятницу до даты окончания в интервале ли? –

+0

Мне не нужна пятница после окончания EndDate. @HamletHakobyan – fneron

ответ

0
DATEADD(dd,(CASE DATEPART(cdw, @currentDate) WHEN 5 THEN 7 ELSE 5 - DATEPART(cdw,@currentDate) END),@currentDate) 
Смежные вопросы