Попытка запроса данных на основе диапазона дат, но только для одной временной точки - PullRequest
0 голосов
/ 04 июня 2019

Я пытаюсь запросить базу данных MSSQL через SQuirreL, которая работает, если я просто хочу, чтобы все данные были в диапазоне временных отметок. Тем не менее, я хотел бы запросить диапазон дат, но только для одного момента времени. Я успешно выполнил этот тип запросов в postgresql, но я не так хорошо знаком с MSSQL SQL-запросами.

SELECT * FROM table WHERE timestamp >='06/04/19 00:00:00' AND 
(TimeValue(timestamp) BETWEEN '23:40:00' AND '23:55:00');

Я могу использовать строку кода для работы, если я выберу только диапазон даты или метки времени, но как только я добавлю значение времени, я не получу подходящих данных, даже если знаю, что они там есть. Я уверен, что я просто неправильно делаю синтаксис, или для MSSQL есть другой способ сделать это. Спасибо.

1 Ответ

1 голос
/ 04 июня 2019

Какой запрос вы генерировали, когда не получали данные?Я предполагаю, что вы сделали ошибку с «и / или».Вероятно, искомый запрос выглядит следующим образом:

`WHERE (TIME(timestamp) BETWEEN {t ‘12:00:00’} AND {‘t 14:00:00’}) AND ((DATE(timestamp) BETWEEN var1 AND var2) AND (DATE(timestamp) BETWEEN var1 AND var2))`
...