между запросом на даты не работает, как я хочу - PullRequest
1 голос
/ 23 июня 2019

Я работаю над запросом SQL, который принимает записи между двумя датами "от" до ", как показано на рисунке ниже. Мой запрос работает хорошо, но когда я меняю дату" с "с 24 на 23, он не отображает запись 23 даты означает, что последняя строка не отображается.

enter image description here мой SQL-запрос приведен ниже:

select  *  from  prescription_master where  (pr.date between @from_date and @to_date) or (pr.date=@to_date)

Я хочу, чтобы запись 23 даты также отображалась, когда я выбираю 23 даты из «до» выбора даты. Для этой цели я использую «или (pr.date=@to_date)» в запросе выше, но это не работает. я могу решить это.

1 Ответ

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

Вы должны обработать часть времени:

select  *  
from  prescription_master 
where  (CAST(pr.date AS DATE) between @from_date and @to_date) 
   or  (CAST(pr.date AS DATE) = @to_date)
   -- this also will made a query non-SARGable

Когда вы предоставляете параметр, дата устанавливается на 23-06-2019 00:00:00, и вы сравниваете его с 23-06-2019 13:08:00

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...