Alexandre acho que no seu código vai precisar trocar o AND por um OR select * from reservas where (:primeiradatarequeridapelocliente between reservas.dtini and reservas.dtfim) OR (:ultimadatarequeridapelocliente between reservas.dtini and reservas.dtfim) mas ao meu ver desta forma esta certo.