Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 запрос с датами и рабочими днями  [new]
kolotov
Member

Откуда:
Сообщений: 131
Здравствуйте,
Помогите составить запрос.
Есть 2 поля с датами: date_start и date_end
Надо выбрать при условии, что между date_start и date_end прошло ровно 5 рабочих дней
Если выбирать рабочие и выходные дни, то можно использовать WHERE DATEDIFF (day, date_start, date_end) = '5', а вот не учитывать выходные(праздники не учитывать) не получается
Как это сделать?
23 окт 13, 11:41    [15019358]     Ответить | Цитировать Сообщить модератору
 Re: запрос с датами и рабочими днями  [new]
Glory
Member

Откуда:
Сообщений: 104751
kolotov
Как это сделать?

Создать таблицу-календарь, где у каждой даты будет точеый признак рабочего/нерабочего дня
23 окт 13, 11:42    [15019366]     Ответить | Цитировать Сообщить модератору
 Re: запрос с датами и рабочими днями  [new]
kolotov
Member

Откуда:
Сообщений: 131
Glory,

без дополнительной таблицы желательно.
может как то связать с datepart ?
23 окт 13, 11:48    [15019419]     Ответить | Цитировать Сообщить модератору
 Re: запрос с датами и рабочими днями  [new]
Glory
Member

Откуда:
Сообщений: 104751
kolotov
без дополнительной таблицы желательно.

А откуда серверу известно, какие дни вы считаете нерабочими ?
23 окт 13, 11:49    [15019426]     Ответить | Цитировать Сообщить модератору
 Re: запрос с датами и рабочими днями  [new]
kolotov
Member

Откуда:
Сообщений: 131
Glory,

можно ли какой нибудь пример с дополнительной таблицей выходных?
23 окт 13, 13:27    [15020291]     Ответить | Цитировать Сообщить модератору
 Re: запрос с датами и рабочими днями  [new]
aleks2
Guest
select date_start, date_end
from [Есть 2 поля с датами: date_start и date_end]
where ( datediff(day, date_start, date_end) - ( select count(*) from [дополнительной таблицей выходных] where date between cast(date_start as date) and cast(date_end as date) ) ) = 5
23 окт 13, 13:31    [15020328]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить