Проверьте, сколько DateTimes из таблицы помещается между диапазоном DateTimes - PullRequest
0 голосов
/ 30 августа 2018
DECLARE @dateFrom   DATETIME;
DECLARE @dateTo     DATETIME;

declare @tempholidays table (holidays datetime);

insert into @tempholidays values(CONVERT(datetime, '2018-01-01'));
insert into @tempholidays values(CONVERT(datetime, '2018-02-19'));
insert into @tempholidays values(CONVERT(datetime, '2018-04-06'));
insert into @tempholidays values(CONVERT(datetime, '2018-04-09'));
insert into @tempholidays values(CONVERT(datetime, '2018-05-01'));
insert into @tempholidays values(CONVERT(datetime, '2018-05-28'));
insert into @tempholidays values(CONVERT(datetime, '2018-08-15'));
insert into @tempholidays values(CONVERT(datetime, '2018-12-25'));
insert into @tempholidays values(CONVERT(datetime, '2018-12-26'));

У меня есть временная таблица с некоторыми датами. Ι хотел бы знать, сколько таких записей существует в определенном диапазоне дат: time (dateFrom, dateTo). Например, если я даю диапазон (datefrom = '2018-05-27' и dateto = '2018-05-29'), результат должен быть 1.

Ответы [ 2 ]

0 голосов
/ 30 августа 2018
DECLARE @dateFrom   DATETIME;
DECLARE @dateTo     DATETIME;

declare @tempholidays table (holidays datetime);

insert into @tempholidays values(CONVERT(datetime, '2018-01-01'));
insert into @tempholidays values(CONVERT(datetime, '2018-02-19'));
insert into @tempholidays values(CONVERT(datetime, '2018-04-06'));
insert into @tempholidays values(CONVERT(datetime, '2018-04-09'));
insert into @tempholidays values(CONVERT(datetime, '2018-05-01'));
insert into @tempholidays values(CONVERT(datetime, '2018-05-28'));
insert into @tempholidays values(CONVERT(datetime, '2018-08-15'));
insert into @tempholidays values(CONVERT(datetime, '2018-12-25'));
insert into @tempholidays values(CONVERT(datetime, '2018-12-26'));

set @dateFrom = 'May 27, 2018'
set @dateTo = 'May 29, 2018'

select
    count(*) countx
from
    @tempholidays h
where
    h.holidays between @dateFrom and @dateTo
0 голосов
/ 30 августа 2018

Я думаю, что это то, что вы хотите:

select count(*)
from @tempholidays th
where th.date >= @datefrom and th.date <= @dateto;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...