SQL - выбор строк в диапазоне дат?

Я пытаюсь выбрать все строки, которые находятся в диапазоне дат, включая день начала и окончания -

Например

Select *
from table
where timestamp between 2019-03-01 and 2019-03-08

Мне нужны все строки, которые находятся на 2019-03-01 и 2019-03-08, а также все строки между двумя датами

Спасибо


person Chris90    schedule 15.04.2019    source источник
comment
переменные должны быть в одинарных кавычках, а какой тип данных используется в столбце с меткой времени?   -  person arce.est    schedule 15.04.2019
comment
спасибо, это столбец с отметкой времени, который я обычно различаю с датой   -  person Chris90    schedule 15.04.2019
comment
что вы подразумеваете под «все строки между двумя датами также», это должно быть упорядочено по метке времени / ??? очистить это   -  person nikhil sugandh    schedule 15.04.2019


Ответы (1)


Вы должны использовать date () для отметки времени и правильной цитаты вокруг значения даты

SELECT * 
FROM tbl_recordings 
WHERE date(timestamp)  
          between  str_to_date('2019-03-01', '%Y-%m-%d')
              and   str_to_date('2019-03-08', '%Y-%m-%d');

or

SELECT * 
FROM tbl_recordings 
WHERE date(timestamp) between '2019-03-01'  and   '2019-03-08';
person scaisEdge    schedule 15.04.2019
comment
если я использую последнее из промежуточных, будут ли в него также входить строки с датами внешней границы, такие как 3-1 и 3-8? @scaisEdge - person Chris90; 15.04.2019
comment
BETWEEN всегда включающий. Это означает, что он будет включаться до 2019-03-08 00:00:00.000. - person The Impaler; 15.04.2019