SQL получить дату предстоящей пятницы

Как получить дату предстоящей/следующей пятницы с помощью SQL?

Если текущий день — пятница, вернуть сегодняшнюю дату.

Спасибо большое, буду рад любым советам и советам!


person viv_acious    schedule 21.05.2014    source источник
comment
Пожалуйста, покажите, что вы пробовали.   -  person Thorsten Dittmar    schedule 21.05.2014


Ответы (1)


Попробуй это

SET DATEFIRST 7
SELECT DATEADD(DAY,(CASE DATEPART(DW,GETDATE()) 
                    WHEN 7 THEN 6 
                    ELSE 6 - DATEPART(DW,GETDATE()) END),GETDATE());
person Raj    schedule 21.05.2014
comment
это вернется завтра, когда я выполню его сегодня, но это должно быть послезавтра;) - person DrCopyPaste; 21.05.2014
comment
Действительно? Для меня он каким-то образом возвращает 2014-05-23 13:27:49.760, что бывает послезавтра, в пятницу. - person Raj; 21.05.2014
comment
Результат, который вы получите, будет зависеть от того, что такое @@DATEFIRST. - person GarethD; 21.05.2014
comment
@GarethD ах, спасибо за подсказку, которая объясняет это со значением 7, оно работает. - person DrCopyPaste; 21.05.2014