У нас есть система доставки посылок, которая регистрирует посылки, которые должны быть доставлены как ParcelReceivedDate, поле datetime.Как найти целевые данные в следующую среду в 1700 году в SQL Server 2008
Мы должны определить целевую дату и время доставки таким образом, чтобы любая посылка, полученная в субботу или воскресенье, должна была быть назначена в следующую среду 17:00 GMT.
CASE
WHEN Priority = 'Normal' and DATENAME(weekday,ParcelReceivedDate) IN ('Saturday')
THEN ??
WHEN Priority = 'Normal' and DATENAME(weekday,ParcelReceivedDate) IN ('Sunday')
THEN ??
Else DATEADD(hour,24,ParcelReceivedDate)
END as ParcelTargetDate
Я отредактировал мой ответ. Проверьте синтаксис, но трассировка главной дороги;) –
У вас есть или вы можете создать [таблицу календаря] (http://blog.jontav.com/post/9380766884/calendar-tables-are-incredibly-useful- в-SQL)? Это был бы самый простой способ решить эту проблему. – GarethD