вот пример, но это MS SQL
ALTER Procedure [dbo].[Procedure_Name] (
@SelectByDate1 date = null,
@SelectByDate2 date = null
) as
select *
from Table_Name
where
P_Date >= coalesce(@SelectByDate1, p_Date)
and P_Date <= coalesce(@SelectByDate2, p_Date)
order by p_date desc
В этом случае есть 2 текстбокса. Если они пустые, то выбиратеся просто select *
from Table_Name. и в зависимости от заполнения дат в текстбоксы будут уже подключатся переменные с сортировкой между датами. Как видишь там P_Date >= and and P_Date <= даже если 1 день попадает под этот промежуток, то он выводится.
в MySQl к сожалению не знаю, есть ли "coalesce"