Помогите составить SQL запрос..
Есть таблица с датами:
id | date | startTime | endTime
---+------------+-----------+--------
1 | 2018-06-02 | 00:00 | 02:00
2 | 2018-06-02 | 02:00 | 04:00
3 | 2018-06-02 | 18:00 | 19:00
4 | 2018-06-02 | 21:30 | 22:00
Нужно достать из нее записи, которые затрагивают входящую дату.
Например входящая 2018-06-02 15:00-17:00 не вернет ни одной, а 2018-06-02 18:00-21:40 вернет 3 и 4 записи. Спасибо.
DECLARE @InputData NVARCHAR(22) = '2018-06-02 18:00-21:40'
DECLARE @InputDate DATE = SUBSTRING(@InputData, 1,10)
DECLARE @InputTimeFrom TIME = SUBSTRING(@InputData, 12,5)
DECLARE @InputTimeTo TIME = SUBSTRING(@InputData, 18,22)
DECLARE @DataTable TABLE (id INT, date_column DATE, startTime TIME, endTime
TIME)
INSERT INTO @DataTable(id, date_column, startTime, endTime) VALUES
(1 , '2018-06-02' , '00:00' , '02:00'),
(2 , '2018-06-02' , '02:00' , '04:00'),
(3 , '2018-06-02' , '18:00' , '19:00'),
(4 , '2018-06-02' , '21:30' , '22:00')
SELECT *
FROM @DataTable
WHERE date_column = @InputDate
AND startTime BETWEEN @InputTimeFrom AND @InputTimeTo
Если поля типа varchar к этому типу нужно привести и переменные
Вот один из вариантов решения - будет работать только если начало \ конец периода за одну дату будет:
select * from test where date = '2018-06-02' and startTime < '21:40' and endTime > '18:00';
Здесь первое значение - конец запрашиваемого периода, второе - начало.
Пример можно погонять вот здесь.
Да, решение указано из предположения, что строки выводятся при пересечении интервала запроса и интервала в самой строчке таблицы. То есть при запросе с 18:30 до 21:40 тоже будут выводиться те же строчки.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Описано много примеров как создать связь многие ко многимЯ же хочу понять как вставлять данные, обновлять и делать выборки
При установке MySQL сервер появляется данное окно, но кнопки Next нету и дальше ничего не могу сделать, было у кого такое? Как решилось?
Появилась следующая проблема: требуется сделать такую конструкцию ( рисунок приложен ), а я не могу понять, как это можно сделатьПомогите,...
Почему у меня DOMParser не парсит следующую довольно простую DOM-структуру?